我想写一个named scope从它的id中获得记录。如何让Rails中的named_scope返回一个值而不是数组?
例如,我有一个名为Event
的模型,我想使用named_scope
来模拟Event.find(id)
以获得未来的灵活性。
我在我的模型中使用此代码:
named_scope :from_id, lambda { |id| {:conditions => ['id= ?', id] } }
,我把它从我的控制器像Event.from_id(id)
。但我的问题是,它返回一个Event
对象而不是一个对象的数组。
因此,如果我想获得的事件名称,我必须写
event = Event.from_id(id)
event[0].name
,而我要的是
event = Event.from_id(id)
event.name
难道我做错了什么吗?
嗨吉米 感谢您的快速回答。为什么我想要一个命名范围是(如我在Damien的评论中提到的) 因为以后我可能只想获取活动事件所以我只能更改命名范围而不打破现有代码(如只添加活动= 1)请让我知道你的意见干杯,sameera – sameera207 2010-05-29 07:48:01