2012-10-09 37 views
0

使用with_scope我有它定义了一些范围的模型:在示波器上

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 

这些范围都是关联的对象,所以我应该能够把它们连在电话with_scope。但我无法完成所有工作。我一直在试图沿,据我所知,应该运用关联报警.open_alarms到查找,然后有效地找到匹配的open_alarms范围内的所有报警

Alarm.with_scope(:find => Alarm.open_alarms){all} 

线的东西。但是,当我尝试这样做时,我得到一个“无法识别的变量或方法”全部为“Main:Object”错误。我尝试了一系列的变体,但似乎没有达到那里。

我想要的是能够链接一系列范围,然后应用分页,以便输出报警页面。

任何帮助将非常感激。

谢谢,

史蒂夫

回答

0

@alarms = Alarm.open_alarms.page(PARAMS [:页])

@alarms = Alarm.open_alarms.site_alarms(“HTTP://样品。我的“)。page(params [:page])

(使用gem will_paginate或kaminari)。

您似乎在使用前3.2代码来做你的查询。

+0

谢谢雨果 - 我会试试这个 –