Ich möchte eine named scope schreiben, um einen Datensatz von seiner ID zu erhalten.Wie kann ich machen, dass named_scope in Rails einen Wert anstelle eines Arrays zurückgibt?
Zum Beispiel habe ich ein Modell namens Event
, und ich möchte Event.find(id)
mit der Verwendung von named_scope
für zukünftige Flexibilität zu simulieren.
habe ich diesen Code in meinem Modell:
named_scope :from_id, lambda { |id| {:conditions => ['id= ?', id] } }
und nenne ich es von meinem Controller wie Event.from_id(id)
. Aber mein Problem ist, dass es ein Array von Event
Objekten anstelle von nur einem Objekt zurückgibt.
Also wenn ich Ereignisnamen zu bekommen, habe ich
event = Event.from_id(id)
event[0].name
zu schreiben, während, was ich will ist
event = Event.from_id(id)
event.name
Bin ich etwas falsch hier?
Hallo Jimmy Danke für die schnelle Antwort.Warum ich einen benannten Bereich haben möchte ist (wie ich in Damiens Kommentar erwähnt habe) weil ich später vielleicht nur die aktiven Events bekommen möchte Also kann ich nur den genannten Bereich ändern ohne den bestehenden Code zu durchbrechen (zB nur aktiv hinzufügen = 1) Bitte lassen Sie mich Ihre Kommentare cheers, sameera wissen – sameera207