Mantener datos post al renderar formulario despues de validacion

Hola he estado haciendo un formulario que envia mails con actionmailer,
mi
problema en un inicio fue como validar los datos sin asociarlos a un
modelo
de bd. Asi es como llegue a un plugin que permite hacer tal cosa
http://rubyforge.org/projects/validator

luego al implementar la funcion que valida en mi controller el tema de
la
validacion funciona bien. Lo unico que me falta es poder mantener los
datos
escritos por el usuario en los campos del form luego de una validacion,
ya
que cuando hace la validacion me pone todos los inputs en blanco.

mi codigo del controller

def validar_formulario(params)
validator = ActiveRecord::Validations::Validator.new(params)
validator.validate_with(:name, :filled => true)
validator.validate_with(:empresa, :filled => true)
validator.validate_with(:direccion, :filled => true)
validator.validate_with(:ciudad, :filled => true)
validator.validate_with(:telefono, :filled => true)
validator.validate_with(:body,:message=>“deje algun comentario”,
:filled
=> true)
validator.validate_with(:address,:message => “no es válido” ,:format
=>
/^([a-zA-Z0-9])[email protected]([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/)
return true if validator.errors.empty?
return validator.errors
end

def envia_correo

 errores = validar_formulario(@params[:email])
  # Si encontramos errores
  if not errores == true
    #render :text => "hay errores"
    flash[:notice] = "Se han encontrado los siguientes 

problemas:

    "
    # Añadimos los mensajes de error al flash[‘alert’]
    errores.each { |a,v|
    flash[:notice]+= “
  • #{a +” “+ v}

  • }
    flash[:notice]+="
"
return
  else
    Notifier.deliver_contacto_traki(@params[:email],Time.now)
       flash[:notice] = "Su correo fue enviado"

  end

hay alguna funcion o algo que me permita hacer eso??

de antemano gracias , y un saludo a la lista de RoR

On 9/28/07, Miguel M. [email protected] wrote:

mi codigo del controller
validator.validate_with(:address,:message => “no es válido” ,:format =>
if not errores == true
Notifier.deliver_contacto_traki(@params[:email],Time.now)
Miguel Michelson Martinez

www.artenlinea.cl

Puedes utilizar un modelo normal y corriente de RoR, con el detalle de
nunca llamar al método save, sino al método valid?, nunca llamar a
find, siempre a new (no create), etcétera…

Utilizando el modelo como variable de instancia todo debería funcionar
normalmente (si utilizas form_for en la vista, claro).

Bai.

Hola Daniel, gracias por tu respuesta.

como estoy recien entrando al mundo de rails , me es un poco dificil
entender lo que me dices.

tienes algun ejemplo donde tpara ver como es?

de todas maneras empezaré a investigar

Saludos

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs