我有三种型号:用户,产品和订单。协会如下:
用户(卖方)有许多产品
用户(买方)有许多订单
订单有一个产品
订单有一个用户(买方)
产品有一个用户(卖方)
产品有一个订单
现在,在产品模型中,有一个与用户的关联:
belongs_to :seller, class_name: "User", foreign_key: "seller_id"
product_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密钥。非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
:foreign_key
中的Product.belongs_to
选项实际上需要在User.has_many
上结束,即在User
中:
has_many :products, foreign_key: :seller_id