我有一个模型,上面定义了一些范围:
class Alarm < ActiveRecord::Base
scope :open_alarms, where("state != ?", AlarmStates::STATELIST[-1])
scope :new_alarms, where('state is null')
scope :site_alarms, lambda{ |site| where(:mac_address => site.mac_address)}
#etc
end
这些范围都是 Relation 对象,所以我应该能够在 with_scope 调用中链接它们。但我不能让它全部工作。我一直在尝试类似的东西
Alarm.with_scope(:find => Alarm.open_alarms){all}
AFAIK 应该将关系警报 .open_alarms 应用于查找,然后有效地找到与 open_alarms 范围匹配的所有警报。但是当我尝试这个时,我得到一个'未识别的变量或方法“所有”的 Main:Object' 错误。我已经尝试了一系列变体,但似乎没有任何效果。
我想要达到的目标是能够链接一系列范围,然后应用分页,这样我就可以输出警报页面。
任何帮助将不胜感激。
谢谢,
史蒂夫