0
拉特说,我有一些关系:避免ActiveRecord的关系在Rails中被重新加载
@active_posts = Post.where(active: true).limit(3) # returns 3 active posts, but there are much more then 3
然后我修改了一些这种关系的成员:
@active_posts.first.update active: false
@active_posts.size # returns 3, but need 2 remaining
我如何能得到休息2个活动这个关系中的职位?当我尝试迭代@active_posts时,它将从db重新加载,并用活动的替换已停用的帖子。但是我怎么能从这个关系中确切地看到2个活跃的帖子,在关闭第三个帖子后仍然存在?
这不是个例。因为最后的语句再次返回3个激活的帖子(db有3个以上的活跃帖子,我应该修复我的示例 – Molfar
update statement后的add @ active_posts.reload –
@Molfar不幸的是Rails并不那么聪明,重新加载并始终使用范围。 –