Если учетные записи / пользователи / сайты все связаны, то ваши ассоциации в вашей модели будут обрабатывать "таблицы" для вас.Вы должны думать о своей проблеме с точки зрения моделей (то есть: ваш домен / бизнес-проблема).Допустим, у одного пользователя может быть несколько учетных записей (в противном случае нет смысла в модели учетных записей), и у каждой учетной записи может быть свой сайт (приложение для управления веб-хостингом?).
Если вы настраиваете ассоциации в приложении / моделях/*.rb с отношениями has_many и т. д. сохранить форму в методе контроллера (или в IRB) довольно просто.Код контроллера, который у вас есть, неверен.Вы не можете назначать переменные подобным образом и ожидать, что Rails сделает так много магии.
account.user = params[:user]
account.site = params[:site]
Для вложенных форм.Если вы не можете заставить это работать, используйте rails c
:
account = Account.new
user = User.new
site = Site.new
account.user = user
account.site = site
account.save # will fail if you have constraints/validations
Получите его для работы в rails c и IRB, а затем посмотрите на свою форму и активность HTTP, используя Firebug или другой инструмент браузера.Поместите это в метод контроллера puts params
, и вы увидите, как вложенные формы публикуются.