使用has_many:through的nested_form gem并发症

时间:2013-10-09 17:34:11

标签: ruby ruby-on-rails-3 nested-forms has-many-through

有没有人使用过nested_form gem并使用has_many通过关系而不仅仅是has_many? (我还是Rails的新手)

我正在开发一个应用程序,在许多其他地方我们已成功使用nested_form gem来动态添加和删除视图中表单上的字段,但出于某种原因,我们正在使用的应用程序的这个新部分has_many通过,宝石不再工作了。

为了更好地解释,该视图显示了“添加”和“删除”的链接,但javascript没有添加/删除字段...它正在呈现死链接。

应用程序的其他部分仍然可以正常工作,并且来自javascript for nested_form的代码在两个页面之间是相同的。创建表单的方法也是一样的...所以我能看到的唯一区别是其他模型使用简单的has_many关系,而我在这里处理has_many。

不完全确定我应该为这个问题发布什么,因为我没有遇到可以发布跟踪的错误。

以下是视图形式部分的代码:

    = f.fields_for :purchase_request_line_items do |f|
    = render :partial => 'purchase_requests/purchase_request_line_item_fields', :locals => {:f => f}
    %br
    = f.link_to_remove "Remove this item"
  %br
  = f.link_to_add "+ add item(s)", :purchase_request_line_items, :class => 'add_form_section_button'

以下是上述代码中partial的代码:

.field
  = f.select(:inventory_item_id, options_for_select(InventoryItem.all.map{ |i| [i.name, i.id] }))

.field
  = f.label :quantity
  = f.text_field :quantity

当然,我在应用程序中也有这个:

javascript_include_tag :defaults, "nested_form"

我在表单部分的顶部有javascript_include_tag,这也就是我们将它放在应用程序的其他(工作)部分的方式。

非常感谢任何帮助。直到昨天下午我都没有使用过这个宝石,所以我对这个有点不知所措。我已经尝试了一些解决方法,但目前无济于事。

我对Rails还是一个新手......如果这很简单就道歉。

此外,如果需要更多信息,我很乐意提供更多详细信息。

谢谢。

1 个答案:

答案 0 :(得分:0)

事实证明,如果你在信中使用Ryan的文档,它对我们正在运行的设置不起作用。我们正在运行Rails 3.0.9和Ruby 1.9.3p448。

文档指示您使用“javascript_include_tag:defaults,'nested_form'

我尝试删除“:defaults”,现在一切正常。

使用旧版本的Rails时可能会有所不同,但无论如何......现在都可以使用。

希望如果他们遇到同样的事情,这会帮助别人。