Asumiendo que tiene un modelo de usuario con una asociación has_one Perfil , solo necesita permitir atributos anidados en Usuario y modificar su vista de registro de diseño. Ejecute el comando 'rails generate idee: views' y luego modifique la visualización de idee registrations # new.html.erb como se muestra a continuación usando fields_for form helper para que su formulario de suscripción actualice su modelo de perfil junto con su modelo de usuario.
<div class="register">
<h1>Sign up</h1>
<% resource.build_profile %>
<%= form_for(resource, :as => resource_name,
:url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<h2><%= f.label :email %></h2>
<p><%= f.text_field :email %></p>
<h2><%= f.label :password %></h2>
<p><%= f.password_field :password %></p>
<h2><%= f.label :password_confirmation %></h2>
<p><%= f.password_field :password_confirmation %></p>
<%= f.fields_for :profile do |profile_form| %>
<h2><%= profile_form.label :first_name %></h2>
<p><%= profile_form.text_field :first_name %></p>
<h2><%= profile_form.label :last_name %></h2>
<p><%= profile_form.text_field :last_name %></p>
<% end %>
<p><%= f.submit "Sign up" %></p>
<br/>
<%= render :partial => "devise/shared/links" %>
<% end %>
</div>
Y en su modelo de usuario:
class User < ActiveRecord::Base
...
attr_accessible :email, :password, :password_confirmation, :remember_me, :profile_attributes
has_one :profile
accepts_nested_attributes_for :profile
...
end
¿por qué crear otro perfil de modelo? ¿Por qué no simplemente tener todo en usuario? – AnApprentice
@AnApprentice separación de preocupaciones. Desea tener un modelo de Cuenta o Usuario para todo lo relacionado con la cuenta de usuario y el Modelo de perfil para datos de perfil personal. También es posible que deba permitir que los usuarios tengan un perfil muy completo y no desea crear una tabla de más de 50 campos. –