У меня есть form_for, который создает новую «Оценку», и каждая из этих оценок может иметь неограниченное количество «Предметов» (это похоже на номер детали, но у него будет свой собственный набор атрибутов).Я хотел бы иметь возможность создать столько экземпляров модели связанных элементов, сколько я хочу, прежде чем я отправлю форму, которая создает новую оценку, а затем заставит ее создать все связанные элементы, которые соответствуют этой оценке.
Я много читал в API на form_for и accepts_nested_attributes_for, я много гуглил и смотрел рейлкасты о вложенных модельных формах, и я прочитал мою книгу rails 3, ноТем не менее, чтобы найти «путь рельсов», чтобы создать все эти новые объекты за один раз из одной формы.В Railscast у Райана есть что-то подобное в контроллере:
def new
@estimate = Estimate.new
3.times { @estimate.items.build }
end
Однако я не знаю, сколько элементов будет в каждой оценке.Я также не уверен, какой синтаксис fields_for мне следует использовать в представлении, но я понимаю, что мне, вероятно, придется использовать JavaScript для динамического создания новых полей формы.
Вот как связаны мои модели:
class Estimate < ActiveRecord::Base
has_many :items
accepts_nested_attributes_for :items
end
и:
class Item < ActiveRecord::Base
belongs_to :estimates
end
Итак, есть идеи?Как я уже сказал, я могу заставить свое приложение делать это (вероятно, я буду использовать много AJAX), но я надеялся, что у кого-то может быть более красивое решение.
Спасибо.