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
我有三个模型:用户、产品和订单。协会如下:
一个用户(卖家)有很多产品
一个用户(买家)有很多订单
一个订单有一个产品
一个订单有一个用户(买家)
一个产品有一个用户(卖家)
一个产品有一个订单
现在在产品模型中有一个与用户的关联:
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