【问题标题】:Creating a form for a new associated object using the Rails 2.3 model nesting使用 Rails 2.3 模型嵌套为新的关联对象创建表单
【发布时间】:2009-02-24 00:37:03
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    关联的对象只需要存在内存中就可以呈现在表单中,不需要保存。因此,您可以在呈现表单之前构建它们!

    例如,在您的控制器中,您可以:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多