Ruby 在 Rails 上:has_many 集合未更新
Ruby On Rails : has_many collection not updated
更新 has_many 关联中的对象时遇到问题:
l = self.posts.where(...)
l.each do |item|
item.increment!(:nb, 2)
item.update
item.save
end
当我这样做时:
logger.info Post.all.inspect
logger.info self.posts.inspect
第一行更新帖子,第二行不更新
有没有办法强制更新或者我做错了什么?我也试过禁用缓存,但它仍然是同样的问题。
你可以做到
logger.info self.posts(true).inspect
默认情况下,force_reload
为 false
。
更新 has_many 关联中的对象时遇到问题:
l = self.posts.where(...)
l.each do |item|
item.increment!(:nb, 2)
item.update
item.save
end
当我这样做时:
logger.info Post.all.inspect
logger.info self.posts.inspect
第一行更新帖子,第二行不更新
有没有办法强制更新或者我做错了什么?我也试过禁用缓存,但它仍然是同样的问题。
你可以做到
logger.info self.posts(true).inspect
默认情况下,force_reload
为 false
。