Создание формы для нового связанного объекта с использованием вложенности модели Rails 2.3 - PullRequest
2 голосов
/ 24 февраля 2009

Попытка использовать форму вложенной модели в новой версии релиза рельсов. У меня есть это, но он только отображает поля формы для каждого существующего связанного фото объекта.

(с учетом построителя форм 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 Ответ

3 голосов
/ 24 февраля 2009

Связанные объекты просто должны существовать в памяти для визуализации в форме, их не нужно сохранять. Таким образом, вы можете построить их, прежде чем рендерить форму!

Например, в вашем контроллере вы можете сделать:

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

Теперь, когда ваша форма отображается, у нее есть 3 объекта для отображения форм! Это самый простой способ. Конечно, вы также можете динамически добавлять элементы с помощью Javascript.

...