Я не уверен, что согласен с вашим подходом.Почему бы вам не сделать что-то вроде этого:
В моделях / user.rb:
accepts_nested_attributes_for :profile
В контроллерах / users_controller.rb:
def new
@user = User.new
@user.build_profile
end
В представлениях/users/_form.html.erb:
<%= form_for @user do |f| %>
<%= f.text_field :first_name %>
<%= f.fields_for :profile do |pf| %>
<%= pf.text_field :some_profile_field %>
<% end -%>
<%- end -%>
Это не копируется и не проверяется, но должно работать.При сохранении вашего пользователя поля профиля отправляются и проверяются вместе с пользовательскими полями и повторно отображаются при повторной визуализации формы после ошибки сохранения.Таким образом вы сохраните полный контроль над своей формой и ее содержимым с минимальными усилиями.