Rails 4 Spree 调用回调 "Undefined method for User xxxxx"

Rails 4 Spree Invoke callback "Undefined method for User xxxxx"

我想使用回调来修改管理产品控制器,为每个用户创建一个列表。在狂欢产品模型中使用装饰器,我添加了 "belongs_to :user" 关系。在我的自定义用户模型中,我添加了 "has_many :products" 关系,还向我的用户数据 table 添加了 product_id 和索引 product_id。 我有这个:

Spree::Admin::ProductsController.class_eval do
create.before :user_products

private

 def user_products
    @user.objects.build params[object_name]
 end
end 

object_name是继承自ResourceController的函数。它 returns 一个包含当前对象名称“product”的字符串。

但它不起作用。我得到 "undefined method objects for User XXXXX" 看起来我的协会不起作用。我究竟做错了什么?提前致谢。

你的外键错误应该是这样的

class User < ActiveRecord::Base
  has_many :products
end

Class Product < ActiveRecord::Base
  belongs_to :user
end

产品 table 应该有 user_id

这里是参考http://guides.rubyonrails.org/association_basics.html#the-has-many-association