2009-02-24 33 views
2

嘗試在新的rails版本候選中使用嵌套模型表單。我有這個,但它只爲每個現有的相關照片對象渲染表單字段。使用Rails 2.3模型嵌套創建新關聯對象的表單

(給定一個表單生成器f這是我的父模型對象創建)

%h3 Photos 

- f.fields_for :photos do |photo_form| 
    %p 
    = photo_form.label :caption 
    = photo_form.text_field :caption 

    %p 
    = photo_form.label :image_file 
    = photo_form.file_field :image_file 

我如何使用這個嵌套的表格功能創建的形式爲一個新的照片對象的部分以及編輯現有照片?

回答

3

關聯對象只需要在內存中存在就可以在表單中呈現,而不需要保存。所以你可以在渲染表單之前構建它們!

例如,在你的控制器,你可以這樣做:

def new 
    @object = MyObject.new 
    3.times { @object.build_associated_object } 
end 

現在,當您的形式呈現,它有3個對象爲顯示形式!這是最簡單的方法。當然,你也可以用Javascript動態添加項目。

相關問題