Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 多模型表单,使用build将新表单放置在列表顶部_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 多模型表单,使用build将新表单放置在列表顶部

Ruby on rails 多模型表单,使用build将新表单放置在列表顶部,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,因此,我创建了一个嵌套的记录表单huzzah,但我想知道如何使新表单显示在列表的顶部而不是底部。现在,每次提交表单时,嵌套模型的新空白表单都会放在列表的底部。我怎样才能让它出现在顶部 编辑代码基本上与以下内容相同: <% @post.tags.build %> <%= form_for(@post) do |post_form| %> field 1 field 2 field 3 ... <%= form.fields_for :tags do |

因此,我创建了一个嵌套的记录表单huzzah,但我想知道如何使新表单显示在列表的顶部而不是底部。现在,每次提交表单时,嵌套模型的新空白表单都会放在列表的底部。我怎样才能让它出现在顶部

编辑代码基本上与以下内容相同:

<% @post.tags.build %>
<%= form_for(@post) do |post_form| %>
  field 1
  field 2
  field 3
...
  <%= form.fields_for :tags do |tag_form| %>
       ...
       ...
    <%end %>
<%end %>
但我希望我的嵌套对象看起来像:

 Post Field 1
       Post Field 2
       Post Field 3

        TAGS
          Blank form!
          previously created record 1
          previously created record 2
          previously created record 3
          ...

这是一个假设,但我相信这是因为
@post.tags.build
将在当前存储的记录末尾添加一个新记录。你可以做一些类似的事情:

<% tags = [@post.tags.build] << @post.tags %>
[...]
<%= form.fields_for :tags, tags do |tag_form| %>
    [...]

显示在顶部的新表单与显示在顶部的标记表单一样?您确实需要显示更多代码,以便我们更好地理解问题。此代码与railsguide exanple几乎完全相同,只是我有不同的型号名称
<% tags = [@post.tags.build] << @post.tags %>
[...]
<%= form.fields_for :tags, tags do |tag_form| %>
    [...]