所以Im following the rails guide,我创建了一个嵌套的记录表单,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
previously created record 1
previously created record 2
previously created record 3
...
Blank form!
但我希望我的嵌套看起来像:
Post Field 1
Post Field 2
Post Field 3
TAGS
Blank form!
previously created record 1
previously created record 2
previously created record 3
...
答案 0 :(得分:0)
这是一个假设,但我相信这是因为@post.tags.build
将在当前存储的记录的末尾添加新记录。你可以这样做:
<% tags = [@post.tags.build] << @post.tags %>
[...]
<%= form.fields_for :tags, tags do |tag_form| %>
[...]
这种方式fields_for
使用修改过的数组,我们在其中放置了新标记。
注意:我没有测试过这个,所以我为任何错误道歉。我还删除了不需要更改的部分。