2012-10-09 73 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

謝謝雨果 - 我會試試這個 –