【发布时间】:2012-10-28 03:22:09
【问题描述】:
我遇到了nested_form gem 的问题。
我有 5 个模型:类别、组、参数、报价和价值。
所以Offers属于Category,Values属于Offers和Parameters,Parameters统一在Groups中,Groups属于Category。
典型例子如下
并且这个参数的值属于offer。也许看起来很复杂,但在我看来,我已经很清楚地说明了它。 我想构建表单,允许在用户注册期间创建许多优惠。类别、参数和组是固定的。 现在我的模板是:
= simple_nested_form_for @user
Category.all.each do |category|
span= category.name
= f.simple_fields_for :offers do |f_offer|
= f_offer.input :category_id, :as => :hidden
- category.groups.each do |group|
span= group.name
- if f_offer.object.values.where("parameter_id IN (?)", group.parameters).empty?
- group.parameters.each do |parameter|
- variant.values.build(:parameter_id => parameter.id)
/ In this partial inputs for offer values in format parameter_name: input_field
= render :partial => 'values', :locals => { :f_offer => f_offer,
:f_group => group }
= f_variant.link_to_remove t("views.remove_variant")
= f.link_to_add "Add offer", :offers
它几乎可以正常工作,但问题是当我单击“添加报价”链接时 - 表单添加了最后一个类别的参数。
因此,对于我上面给出的示例,当我为汽车类别单击“添加报价”时 - 我看到一堆参数不是汽车,而是自行车!看起来我应该将类别传递给 simple_fields_for 或类似的东西,但我不知道该怎么做。
谁能帮帮我?
【问题讨论】:
标签: ruby-on-rails nested-forms nested-form-for