2016-03-01 86 views
1

我有三種模式:用戶,產品和訂單。該協會如下:Rails的current_user關聯由user_id

用戶(賣方)有許多產品

用戶(買家)有許多訂單

訂單都有一個產品

訂單都有一個用戶(買家)

一個產品有一個用戶(賣方)

一個產品有一個訂單

現在的產品型號有關聯的用戶:

belongs_to :seller, class_name: "User", foreign_key: "seller_id" 

在products_controller添加新的產品將其鏈接到用戶:

def create 
    @product = current_user.products.create(product_params) 
    .... 

外鍵具有數據庫也被重新命名爲「seller_id」。 當current_user.products線稱爲響應失敗

ActiveRecord::UnknownAttributeError (unknown attribute 'user_id' for Product.): 
    app/controllers/products_controller.rb:23:in `create' 

我不知道如何將CURRENT_USER更改爲產品協會使用這個seller_id關鍵。任何幫助將不勝感激,謝謝。

回答

1

你在Product.belongs_to擁有的:foreign_key選項實際上需要超過上User.has_many,即在User

has_many :products, foreign_key: :seller_id 
+1

該訣竅,謝謝! – user1087943

+0

不客氣。 – smathy