nested_form - 编辑操作不显示嵌套元素

时间:2011-04-25 10:08:21

标签: ruby-on-rails ruby-on-rails-3 nested-forms

我有一个nested_form,其中使用Javascript在表单中动态添加和删除嵌套元素。

我已经完成了new动作的整个部分 - 元素添加和销毁,并且所有内容都可以保存。

访问edit操作时,我得到了正确的父元素,但子元素不显示 - 相反,edit视图会让我感到徘徊(和无用的)'添加选项'按钮。

我在哪里可能会出错?

4 个答案:

答案 0 :(得分:2)

试试gem cocoon它真的很方便,并为你处理嵌套表格javascript !!

这是链接http://www.dixis.com/?p=454&lang=nl

答案 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