2013-01-08 34 views
1

So 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

新形式出現在頂部,如標籤形式出現在頂部? – Nishant

+0

您確實需要展示更多的代碼才能更好地理解問題。 –

+0

這段代碼幾乎和railsguide實例[這裏](http://guides.rubyonrails.org/getting_started.html#building-a-multi-model-form)完全一樣,除了我有不同的型號名稱 – rugbert

回答

0

這是一個假設,但我相信這是因爲@post.tags.build會在當前存儲的記錄末尾添加一條新記錄。也許你可以這樣做:

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

這樣fields_for使用修改後的數組中,我們已經把新的標籤在前面。

注意:我沒有測試過這個,所以我很抱歉發生任何錯誤。我也刪除了不需要更改的部分。