いくつかのスコープが定義されたモデルがあります。
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の未確認の変数またはメソッド「all」」エラーが発生します。一連のバリエーションをすべて試しましたが、何も得られないようです。
私が到達しようとしているのは、一連のスコープをチェーンしてから、ページネーションを適用して、アラームのページを出力できるようにすることです。
どんな助けでも大歓迎です。
ありがとう、
スティーブ