Ruby on rails 嵌套的\u表单gem:将参数与链接\u一起传递到\u add

Ruby on rails 嵌套的\u表单gem:将参数与链接\u一起传递到\u add,ruby-on-rails,nested-forms,nested-form-for,Ruby On Rails,Nested Forms,Nested Form For,我遇到嵌套形式gem的问题。 我有5个模型:类别、组、参数、报价和价值。 因此,报价属于类别,值属于报价和参数,参数在组中统一,组属于类别。典型示例如下 Category: car Group: engine parameters Parameter: volume Parameter: power Group: producer Parameter: producer_name Parameter: year Parameter: country


我遇到嵌套形式gem的问题。
我有5个模型:类别、组、参数、报价和价值。 因此,报价属于类别,值属于报价和参数,参数在组中统一,组属于类别。
典型示例如下

Category: car Group: engine parameters Parameter: volume Parameter: power Group: producer Parameter: producer_name Parameter: year Parameter: country Category: bicycle Group: technical parameters Parameter: wheel diameter Parameter: weight Group: producer Parameter: producer_name Parameter: year Parameter: country 它几乎可以正常工作,但问题是当我单击“添加报价”链接时,表单添加了最后一个类别的参数。 所以,在上面我给出的例子中,当我点击汽车类别的“添加报价”时,我看到的不是汽车的参数,而是自行车的参数!看起来我应该将类别传递给简单的\u字段\u或类似的内容,但我不知道如何做。

有人能帮我吗?

我找到了解决此问题的方法:我添加了一个新操作,如“生成表单”,在该操作中,我创建新用户并向其添加新报价,在视图中,我为该新用户生成表单,并为其报价嵌套字段

当用户单击“AddOffer”链接时,我执行ajax请求来生成表单动作,传递类别id,但作为响应,我得到了,所以我剪切嵌套表单,使用jQuery很容易,而且我需要用随机生成的替换零提供id,这两个都由ajax“完成”回调执行

也许这是一种很丑陋的方式,但最终还是奏效了。 如果有人能提供另一个解决方案,我会很高兴看到的

= 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