Saludos comunidad.
Estamos trabajando sobre un proyecto con Rails 2.3.2 y hemos tenido que
usar
nested forms en el registro de usuarios.
Para ello manejamos dos modelos User y Company (User has_one :company y
Company belongs_to :user)
En el modelo User tenemos:
…
has_one :company
accepts_nested_attributes_for :company
…
En el controlador de usuarios tenemos:
…
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save_without_session_maintenance
session[:user_id] = @user.id
redirect_to thanks_user_url
else
load_countries
render :new
end
end
…
En el form de new de users llamamos a los atributos de company de la
siguiente manera (usamos HAML):
- form_for setup_user(@user), :url => user_path do |f|
… - form.fields_for :company do |company_form|
%p
= company_form.label :company_type, ('Tipo de empresa: ')
== #{company_form.radio_button :company_type, ‘1’} #{(‘Empresa
constituida’)}
== #{company_form.radio_button :company_type, ‘2’} #{_(‘Persona
particular’)}
%p
= company_form.label :name, _('Nombre de la empresa: ')
= company_form.text_field :name
%small (Requerido para empresa constituida)
…
En config/locales/es.yml tenemos lo siguiente
…
activerecord:
attributes:
user:
country_id: PaÃs
user_type: Tipo de usuario
first_name: Nombres
last_name: Apellidos
email: Correo electrónico
phone: Teléfono
password: Contraseña
terms: Términos del servicio
company:
name: Nombre de empresa
company_type: Tipo de empresa
…
Todo con el registro funciona ok, pero al momento de mostrar los errores
del
formulario, la de los campos de Company se muestran de la siguiente
manera:
- Contraseña es un campo requerido
- Contraseña no coincide con la confirmación
- Company company type es un campo requerido <--------- Nótese el
Company company type (deberÃa mostrar Tipo de empresa es un campo
requerido) - Correo electrónico es un campo requerido
Es decir, no se aplican las traducciones. Alguna solución u observación
de
su parte?
Gracias de antemano.