我有一个nested_form,其中使用Javascript在表单中动态添加和删除嵌套元素。
我已经完成了new
动作的整个部分 - 元素添加和销毁,并且所有内容都可以保存。
访问edit
操作时,我得到了正确的父元素,但子元素不显示 - 相反,edit
视图会让我感到徘徊(和无用的)'添加选项'按钮。
我在哪里可能会出错?
答案 0 :(得分:2)
试试gem cocoon它真的很方便,并为你处理嵌套表格javascript !!
答案 1 :(得分:2)
我遇到了同样的问题,发现它是由创建嵌套元素的“fields_for”块组成的。例如,我有:
<%= nested_form_for(@recipe) do |f| %>
# Stuff for parent...
<% f.fields_for :recipe_ingredients do |ingredient_form| %>
# Stuff for nested form...
<% end %>
# etc.
这一行必须是<%=
块,而不是上面的<%
块,即
<%= nested_form_for(@recipe) do |f| %>
# Stuff for parent...
# The following line has changed
<%= f.fields_for :recipe_ingredients do |ingredient_form| %>
# Stuff for nested form...
<% end %>
# etc.
这就是在编辑表单上打印出现有嵌套属性所需的全部内容。
答案 2 :(得分:0)
查看表单以编辑资源 尝试以父表单形式使用实例变量,如下所示:
<%= form_for @parent_resource do |form| %>
... some field ...
<%= form.fields_for :children_resources do |f| %>
...
<% end %>
答案 3 :(得分:0)
我有完全相同的问题(我严重失去了一些头发)。我很高兴找到这个问题,似乎没有其他人拥有它。我的解决方案是“微不足道的”:我在Windows Box上从Rails 3.0.0升级到3.0.6(3.0.7提出了另一个问题)。
我没有进一步调查,'因为它现在有效。我没有改变任何一行代码。也许这对你来说是一个有效的解决方案。
Plz,让我知道......
问候,Dirk