与formtastic和mongo的多态关联

时间:2013-05-21 23:18:27

标签: ruby-on-rails-3 mongodb polymorphic-associations formtastic

我正在尝试在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,但错误让我相信这是问题所在。

这里有什么建议吗?

1 个答案:

答案 0 :(得分:0)

原来这与需要知道product_type值的关系有关,因为product是许多产品类型的父级。

没有任何人可以在这里得到那个并且Rails错误没有指向正确的方向。

如果有人知道我可能已经调试过这种方式可能会输出关系所需的所有必填字段,我会给你分数。