Los usuarios pueden ser, o no, socios. Y para dar de alta como socio, el
controller lleva este código:
@usuario = Usuario.find(session[:usuario_id])
@usuario.socio ||= Socio.new
@socio = @usuario.socio
if param_posted?(:socio)
# Guardo los datos
if @usuario.socio.update_attributes(params[:socio])
flash[:notice] = 'Datos de socio del club actualizados.'
redirect_to usuario_path
end
end
El problema es que esto dispara las validaciones de la clase socio, y
como hay campos obligatorios, veo la pantalla llena de errores al
entrar… ¿alguna idea?
El problema es que esto dispara las validaciones de la clase socio, y
como hay campos obligatorios, veo la pantalla llena de errores al
entrar… ¿alguna idea?
El problema es que esto dispara las validaciones de la clase socio, y
como hay campos obligatorios, veo la pantalla llena de errores al
entrar… ¿alguna idea?
Creo que lo que mencionás es un feature, no un bug ¿Por qué
querrías que no se disparen las validaciones?
El problema es que esto dispara las validaciones de la clase socio, y
como hay campos obligatorios, veo la pantalla llena de errores al
entrar… �alguna idea?
Creo que lo que mencionas es un feature, no un bug �Por que
querrias que no se disparen las validaciones?
PD: @socio = @usuario.socio.build
No me he explicado bien: se disparan al ENTRAR en la página de nuevo
socio (con el GET), no al darle al botón de Aceptar (con el POST).
Cuando yo hago el alta de un nuevo usuario (@usuario = Usuario.new), eso
no dispara las validaciones de usuario hasta que pulso el botón de
Aceptar y entra por el (if param_posted?(:usuario)). Pero en el caso de
los socios, la clase hija, parece que por culpa de hacer (@usuario.socio
||= Socio.new) en vez de (@socio = Socio.new), sà se disparan los
controles de validación de socio al entrar en la página de nuevo
socio…
No me he explicado bien: se disparan al ENTRAR en la página de nuevo
socio (con el GET), no al darle al botón de Aceptar (con el POST).
Cuando yo hago el alta de un nuevo usuario (@usuario = Usuario.new), eso
no dispara las validaciones de usuario hasta que pulso el botón de
Aceptar y entra por el (if param_posted?(:usuario)). Pero en el caso de
los socios, la clase hija, parece que por culpa de hacer (@usuario.socio
||= Socio.new) en vez de (@socio = Socio.new), sí se disparan los
controles de validación de socio al entrar en la página de nuevo
socio…
Y si lo
hacés así: @socio = @usuario.socio || @usuario.socio.build
No me he explicado bien: se disparan al ENTRAR en la p�gina de nuevo
socio (con el GET), no al darle al bot�n de Aceptar (con el POST).
Cuando yo hago el alta de un nuevo usuario (@usuario = Usuario.new), eso
no dispara las validaciones de usuario hasta que pulso el bot�n de
Aceptar y entra por el (if param_posted?(:usuario)). Pero en el caso de
los socios, la clase hija, parece que por culpa de hacer (@usuario.socio
||= Socio.new) en vez de (@socio = Socio.new), s� se disparan los
controles de validaci�n de socio al entrar en la p�gina de nuevo
socio…
Y si lo
hac�s as�: @socio = @usuario.socio || @usuario.socio.build
Asà perfecto, muchas gracias!!
Por cierto, lo mÃo estaba copiado clavadito del libro “Railsspace”, si
alguien lo tiene que tome nota de este fallo.
Muchas gracias de nuevo, Damian…
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.