How can I make named_scope in Rails return one value instead of an array?
Posted
by sameera207
on Stack Overflow
See other posts from Stack Overflow
or by sameera207
Published on 2010-05-29T07:00:53Z
Indexed on
2010/05/29
7:22 UTC
Read the original article
Hit count: 388
I want to write a [named scope] to get a record from its id.
For example, I have a model called Event
, and I want to simulate Event.find(id)
with use of named_scope
for future flexibility.
I used this code in my model:
named_scope :from_id, lambda { |id| {:conditions => ['id= ?', id] } }
and I call it from my controller like Event.from_id(id)
. But my problem is that it returns an array of Event
objects instead of just one object.
Thus if I want to get event name, I have to write
event = Event.from_id(id)
event[0].name
while what I want is
event = Event.from_id(id)
event.name
Am I doing something wrong here?
© Stack Overflow or respective owner