使用Rails 2.3模型嵌套为新的关联对象创建表单

时间:2009-02-24 00:37:04

标签: ruby-on-rails ruby forms associations nested-forms

尝试在新的rails release候选版中使用嵌套模型表单。我有这个,但它只为每个现有的相关照片对象呈现表单字段。

(给定为我的父模型对象创建的表单构建器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

如何使用此嵌套表单功能为新照片对象创建表单部分以及编辑现有照片?

1 个答案:

答案 0 :(得分:3)

关联对象只需要存在于内存中以便在表单中呈现,它们不需要保存。所以你可以在渲染表单之前构建它们!

例如,在您的控制器中,您可以执行以下操作:

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

现在,当您的表单呈现时,它有3个对象来显示表单!这是最简单的方法。当然,您也可以使用Javascript动态添加项目。