2009-08-04 41 views
0

我有一個名爲'chapter'(其唯一屬性是'name'和'course__id')的模型,屬於「課程」(和課程has_many章節)。在「展示」視圖的課程中,我列出了該課程的所有章節。簡單。如何列出模型的實例並使表單在同一視圖上創建實例?

我想在列表末尾添加一個表單,以便用戶可以輕鬆創建新章節。在我的控制器

所以,我添加了這一點:

@[email protected] 

和視圖的形式如下:

<% form_for([@course,@newchapter]) do |c| -%> 
    <%= c.label :name, "New Chapter" %>: <%= c.text_field :name %> 
    <%= c.submit 'Create' %> 
<% end %> 

(爲清楚起見:這是外@ course.chapters.each塊)

現在,問題是,@ course.chapters.size是實際的章節數+我在控制器中創建的空的。

有沒有辦法循環除最後一個(空)的所有@ course.chapters?還是有更好的做法(即不創建@newchapter或不這樣)?

感謝, 皮埃爾

回答

0

你不想使用@course.chapters.build這裏,因爲這確實增加了一個空章的過程。相反,您需要使用Chapter.new並設置:course選項。

@newchapter = Chapter.new(:course => @course) 

它甚至可能沒有必要在這裏指定:course取決於你如何使用@newchapter

+0

非常感謝您的快速幫助! :課程確實不是必需的。我確信我嘗試過,所以必須出現錯誤。 – Pierre 2009-08-04 15:59:26

相關問題