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?

War es hilfreich?

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
scroll top