我想寫一個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