Schienen named_scope als Erweiterung AR :: Base
-
27-09-2019 - |
Frage
class SomeModel < ActiveRecord::Base
named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago] } }
end
Ich möchte das AR :: Base-Klasse erweitern für alle Modelle dieses named_scope zu haben, wie kann ich das tun?
Lösung
Erstellen Sie eine neue Datei in initializer config / initializers und dann wieder öffnen Active der Base
Klasse den benannten Rahmen hinzuzufügen:
module ActiveRecord
class Base
named_scope :recent, lambda {
{ :conditions => ['created_at > ?', 1.week.ago] }
}
end
end
-Natürlich erhalten Sie einen ziemlich hässlichen Fehler sollten Sie versuchen, auf einem Modell diesen Namen Umfang zu verwenden, die kein created_at
Attribut haben ...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow