2013-01-20 25 views
0

Rails有方法返回Relation和find方法,該方法接受實體並根據主要外觀(不應該明確指定它)。ActiveRecord其中類似於找到

有什麼方法可以接受實體嗎?

例如,User.where(params[:id]) - >從那裏user.id = ...

回答

1

如果你已經有用戶記錄,爲什麼你需要再次找到它使用,用戶選擇..?如果是關聯關係,則可以執行類似User.where(:company_id => company.id)的操作,但不能傳遞記錄本身。

另外,User.find(params[:id])User.where(:id => params[:id]).first相同。

+0

我的意思是這樣的:Post.find(params [:id]) - 將使用id和外觀Post.primary_key == id,我怎樣才能使用where方法? –

+0

已更新的答案。 –

+0

id明確指定。 find(params [:id])使用來自映射的主鍵。查找將與FriendlyId一起工作,但哪裏不會。 –

1

以下工作,但我不明白爲什麼你正在尋找一個你已經有的對象?

User.where(:id => user) 
+0

id明確指定。 find(params [:id])使用來自映射的主鍵 –

+0

能否請您詳細說明上下文,在哪裏需要? –

+0

希望與https://github.com/norman/friendly_id一起使用。 –