10
我有一個簡單的has_many
關聯,並且我想將屬性從public
更改爲private
關聯的對象。什麼是做到這一點的最好辦法:ActiveRecord中多個模型的批量更新屬性?
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :user
end
user = User.first #=> #<User...>
user.posts.count #=> 100
# something like this:
user.posts.bulk_update_attribute("privacy", "private") #=> 1 DB call
你也可以這樣做:user.posts.update_all(「隱私= '私人'「) – jenjenut233 2010-10-26 16:45:44
不錯。我想我應該假設! – theIV 2010-10-26 16:52:43
請注意,這不會執行驗證/回調(這可能會也可能不是問題)。你也可以編寫'user.posts.update_all(privacy:「private」)' – tokland 2013-02-24 21:57:19