如何更新has_many对象中的单个字段

时间:2012-03-23 06:44:48

标签: activerecord ruby-1.9.2

我有一个与Address对象具有一对多关系的用户对象。我的班级看起来像这样

class User
  has_many :address
end

class Address
  belongs_to :user
end

我想仅更新特定用户的地址表中的城市列。 怎么做?

我试过这个

@user.address.each do |a|
  a.city = 'Alabama'
end
@user.save

但这不起作用。

2 个答案:

答案 0 :(得分:2)

a.update_attributes(:city => 'Alabama')

答案 1 :(得分:2)

这应该有用。

@user.address.update_all(:city => 'Albama')