Rails current_user 关联 user_id

Rails current_user association by 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 密钥。非常感谢任何帮助,谢谢。

您在 Product.belongs_to 中的 :foreign_key 选项实际上需要在 User.has_many 上结束,即 User:

has_many :products, foreign_key: :seller_id