有没有人使用过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还是一个新手......如果这很简单就道歉。
此外,如果需要更多信息,我很乐意提供更多详细信息。
谢谢。
答案 0 :(得分:0)
事实证明,如果你在信中使用Ryan的文档,它对我们正在运行的设置不起作用。我们正在运行Rails 3.0.9和Ruby 1.9.3p448。
文档指示您使用“javascript_include_tag:defaults,'nested_form'
我尝试删除“:defaults”,现在一切正常。
使用旧版本的Rails时可能会有所不同,但无论如何......现在都可以使用。
希望如果他们遇到同样的事情,这会帮助别人。