Сохранить поля других моделей из определенного представления - PullRequest
0 голосов
/ 11 ноября 2009

Я действительно новичок в Ruby On Rails и работаю с baseApp, который поставляется с функциями входа в систему и регистрации пользователей. Он также создает пустой профиль для пользователя при регистрации.

Затем я создал миграцию для добавления полей в таблицу профилей, таких как имя, пол, штат, страна и т. Д.

Что я хотел бы сделать, это показать эти поля в регистрационной форме, а затем сохранить их в таблице профилей. Как я могу это сделать?

Спасибо

Brian

1 Ответ

0 голосов
/ 11 ноября 2009

acceptpts_nested_attributes_for предоставляет все необходимое.

Пока вы настроили своего пользователя на один профиль, вы почти готовы к работе.

Добавить accepts_nested_attributes_for :profile к модели пользователя. Затем настройте свою форму так:

<% form_for :user do |f| %>
  ...
  User model fields
  ... 
  <% @user.build_profile if @user.profile.nil? %>
  <% f.fields_for :profile do |p| %>
    <%= p.label :first_name %>
    <%= p.text_field :first_name %>
    ...
    Profile model fields
    ...
  <% end %>
<% end %>

Контроллер не нуждается в модификации.

Прочтите раздел вложенной формы FormHelper для получения более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...