我正在尝试在rails中创建两个模型之间的关系。
我有产品和优惠,其中优惠属于产品。
class Product include Mongoid::Document include Mongoid::Timestamps has_many :offers, as: :trigger_product, :class_name => "Offer" end class Offer include Mongoid::Document include Mongoid::Timestamps belongs_to :trigger_product, polymorphic: true accepts_nested_attributes_for :images, :product end
在formtastic中,触发器产品的字段被添加为
<%= f.input :trigger_product, :as=> :select, :multiple => false, :collection => @offer.trigger_products_list %>
当我提交表单时,我收到错误
NameError in Admin::OffersController#create uninitialized constant TriggerProduct app/controllers/admin/Offers_controller.rb:7:in `create'
在我看来,多态关联不起作用,我认为我不需要创建一个空模型来保存TriggerProduct,但错误让我相信这是问题所在。
这里有什么建议吗?
答案 0 :(得分:0)
原来这与需要知道product_type值的关系有关,因为product是许多产品类型的父级。
没有任何人可以在这里得到那个并且Rails错误没有指向正确的方向。
如果有人知道我可能已经调试过这种方式可能会输出关系所需的所有必填字段,我会给你分数。