[Ror-es] Crear registro con pasos

Sebastian Delmont sd at notso.net
Thu Sep 28 15:57:34 GMT 2006


Es dificil explicar detalladamente la solucion, pues depende de  
detalles especificos de tu problema. Sin embargo, aqui van algunos tips:

- Usa las validaciones de rails para todos los campos de tu modelo.

- Provee valores por defecto para todos los campos, y asegurate que  
todos sean validos.

- Usa "valid?" en los pasos iniciales para validar los campos sin  
guardar el objeto a la base de datos.

- Usa save en el ultimo paso para guardar los datos

La accion podria ser algo como:

LAST_STEP = 10
def registration_wizard
   @model = Model.new(params[:model])   # crear un objeto nuevo cada  
vez, junto con todos los atributos
   @step = params[:step].to_i
   @next_step = params[:next_step].to_i

   if @model.valid?
     if @next_step = LAST_STEP
       if @model.save
         flash[:notice] = "Listo, ya fue modificado el modelo"
         redirect_to "/" and return
       end
     else
       @next_step = @step + 1
     end
   end

   @next_step ||= @step  # Fallaron las validaciones, asi que debemos  
volver a mostrar el paso actual

   render :action => "registration_step_#{@step}"
end



Como en este caso estas re-generando el modelo en cada paso, tienes  
que asegurarte que la vista correspondiente a cada paso incluya todos  
los valores, bien sea como campos editables por el usuario, o como  
campos escondidos.



On Sep 28, 2006, at 11:28 AM, Alberto Lagos wrote:

> Hola!, quisiera saber como creo un registro (create) con pasos, por
> ejemplo el primer paso es colocar datos personales, el segundo tus
> direcciones, tercero cc, etc...
>
> para que al final todo lo ingresado sea guardado en un solo registro.
>
> Gracias de ante mano!
>
> -- 
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>



More information about the Ror-es mailing list