以编程方式刷新Rails中的范围

时间:2013-09-11 04:45:48

标签: ruby-on-rails rails-activerecord

有没有办法以编程方式刷新Rails中的作用域?

我目前正在使用以下范围:

scope :orphaned, lambda{where(prospects_count: 0)}

我希望缓存范围,但只要在添加或删除记录时以编程方式强制刷新。

2 个答案:

答案 0 :(得分:3)

我不确定是否有任何强制执行范围的选项。如果您需要这种功能,请创建一个类似

的方法
def orphaned
 orphaned = orphaned || self.where(:prospects_count => 0))
end

我认为这可以解决您的问题。

答案 1 :(得分:0)