我想使用回調修改管理產品控制器以爲每個用戶創建列表。在spree產品模型中使用裝飾器,我添加了「belongs_to:user」關係。在我的自定義用戶模型中,我添加了「has_many:products」關係,並且還將product_id和index product_id添加到了我的用戶數據表中。 我有這樣的:Rails 4 Spree調用回調「用戶xxxxx的未定義方法」
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繼承的功能。它返回一個包含當前對象名稱「product」的字符串。
但它不工作。我得到「用戶XXXXX未定義的方法對象」 看起來像我的協會不工作。我究竟做錯了什麼?提前致謝。
什麼是你的自定義模型的名稱,與用戶和產品的關係? –
我的自定義模型稱爲用戶。 在用戶模式,我有: 的has_many產品,CLASS_NAME: '狂歡::產品' 在施普雷產品型號,我有: 如果Spree.user_class belongs_to的:用戶,CLASS_NAME:Spree.user_class.to_s 其他 belongs_to的:用戶 – aminhs
是你的關聯是錯誤的user_id應該在spree_products表中,而不是用戶表中的product_id –