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
我想使用回调来修改管理产品控制器,为每个用户创建一个列表。在狂欢产品模型中使用装饰器,我添加了 "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