model.update_attribute の罠

背景

update_attribute で一つだけupdate しようと思ってたら他の属性も変わってて意味不明だった。

ヌワー

1
2
3
4
5
6
user = User.first
p user.name  ## "vimtaku"

user.name = "hoge"
user.update_attribute(:age, 100)
##  UPDATE users SET `name` = 'hoge', `age` = 100 where `id` = 1

結局 user.reload した。

このエントリーをはてなブックマークに追加