Ruby on rails 多模型表单,使用build将新表单放置在列表顶部
因此,我创建了一个嵌套的记录表单huzzah,但我想知道如何使新表单显示在列表的顶部而不是底部。现在,每次提交表单时,嵌套模型的新空白表单都会放在列表的底部。我怎样才能让它出现在顶部 编辑代码基本上与以下内容相同: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 |
<% @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| %>
[...]