class SomeModel < ActiveRecord::Base
named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago] } }
end
AR :: Baseクラスを拡張して、すべてのモデルにこのnamed_scopeを設定したいのですが、どうすればよいですか?
class SomeModel < ActiveRecord::Base
named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago] } }
end
AR :: Baseクラスを拡張して、すべてのモデルにこのnamed_scopeを設定したいのですが、どうすればよいですか?
config / initializersに新しい初期化ファイルを作成してから、 ActiveRecordのクラスを再度開いBase
て、名前付きスコープを追加します。
module ActiveRecord
class Base
named_scope :recent, lambda {
{ :conditions => ['created_at > ?', 1.week.ago] }
}
end
end
-もちろん、属性を持たないモデルでこの名前付きスコープを使用しようとすると、かなり醜いエラーが発生しcreated_at
ます...