2012-07-31 102 views
1

我剛開始使用Devise設置Rails應用程序。現在,我打算添加一個新的模型Product,它與User有一對多的關係。我使用腳手架生成器生成了產品模型。然後,我已將belongs_to :user添加到產品,並將has_many :products添加到用戶。我應該在添加關聯後運行遷移嗎?我爲我的數據庫使用mysql。Rails - 將模型與用戶關聯

現在,我不確定如何將它與當前用戶關聯。我試圖在產品控制器創建操作中設置產品的用戶。像@product.user = current_user。但它並不實際工作。我讀過我應該設置產品的user.id來實現這一點,但我不確定如何做到這一點。一步一步的教程鏈接和詳細的解釋將非常有幫助。非常感謝!產品

回答

2

首先運行遷移,然後再拍遷移或只加

t.integer :user_id 

在產品運行遷移的遷移,那麼你可以

 @product.user = current_user 
+0

所以真的需要,可將產品的ID?我認爲有更好的方法可以通過添加關聯來實現。 – maru 2012-07-31 10:18:01

+1

只有在產品表中添加user_id時,關聯纔有效 – Kashiftufail 2012-07-31 10:19:20