Frage

Hallo Ich habe einen named_scope in meinem User Modell wie folgt.

named_scope :by_gender, lamdba { |gender| { :conditions => { :gender => gender } } }

Ich möchte anderen beiden genannten Bereiche erstellen, die diese eine etwas wiederzuverwenden wie,

named_scope :male,   lambda { by_gender('male') }
named_scope :female, lambda { by_gender('female') }

Jede Idee, was zu tun?

War es hilfreich?

Lösung

Sie können Klassenmethoden zur Verfügung stellen, die die fest verdrahtete Argumentübergabe durchführen:

def self.male
    by_gender('male')
end

def self.female
    by_gender('female')
end

oder, wie die named_scope Sie verwenden so einfach ist, könnten Sie den by_gender Umfang ausgeschnitten und einfach verwenden:

named_scope :male, :conditions => {:gender => 'male'}
named_scope :female, :conditions => {:gender => 'female'}

Die zweite Option ist natürlich davon abhängig Ihnen nicht tatsächlich den by_gender Umfang erfordern explizit irgendwo anders.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top