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])+@([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 +” “+ v} ”
# Añadimos los mensajes de error al flash[‘alert’]
errores.each { |a,v|
flash[:notice]+= “
}
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