named_scope または scope how クラスメソッドとの違い。
named_scope :active, :conditions => {:status => 'Active'}
def self.active
self.find(:all, :conditions => {:status => 'Active'}
end
2つの違いは何ですか?
named_scope または scope how クラスメソッドとの違い。
named_scope :active, :conditions => {:status => 'Active'}
def self.active
self.find(:all, :conditions => {:status => 'Active'}
end
2つの違いは何ですか?
最後に、「スコープ」は、モデルで連鎖可能なクラス メソッドを定義します。そのため、「スコープ」(クラス ActiveRecord::Relation のオブジェクト) を返すすべてのクラス メソッドを、定義済みのスコープ / named_scope と同じ方法で使用できます。
スコープについて詳しく知りたい場合は、Rails コンソールを使用して出力を少し試してみることをお勧めします。または、おそらく最初に、Rails ガイドを読んでください ( http://guides.rubyonrails. org/active_record_querying.html#scopes
編集:
ああ、もちろん、Rails のコードを読むことで、多くの場合、誰よりも早く問題を解決できます。ここで「スコープ」メソッドの定義を見ると: https://github.com/rails/rails/blob/master/activerecord/lib/active_record/scoping/named.rb#L159メソッド(クラスレベル)-これは、例のように、メソッドを自分で定義するのとかなり似ています。