Attribut de mise à jour en bloc sur plusieurs modèles dans ActiveRecord?

J'ai un simple has_many association, et je veux changer un attribut de public à private l'objet associé. Quelle est la meilleure façon de le faire:

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

source d'informationauteur Lance Pollard