Ruby Forum Rails-ES > Mensajes de Error??

Posted by Manuel Pernalete (Guest)
on 01.05.2008 20:23
(Received via mailing list)
Existe alguna forma de que los mensajes de error que envia rails los 
pueda
personalizar, es decir, que yo escriba lo que yo quiera???

Por ejemplo a mi me sale este mensaje

2 errors prohibited this suscripcione from being saved

There were problems with the following fields:

   - Percontacto can't be blank
   - Telf1 can't be blank


yo simplemente quiero comolocar:

El Campo Persona Contacto y Telefono de Contacto no pueden estar en 
blanco

quien em puede dar una sugerencia???
Posted by Fernando Guillen (Guest)
on 01.05.2008 21:09
(Received via mailing list)
2008/5/1 Manuel Pernalete <mpernaletetorres@gmail.com>:
> Telf1 can't be blank
> yo simplemente quiero comolocar:
>
> El Campo Persona Contacto y Telefono de Contacto no pueden estar en blanco
>
> quien em puede dar una sugerencia???

En el modelo, en las validaciones puedes incluir el parámetro :message
tal que 
así:
validates_presence_of :title,           :message => 'Falta el titulo'

Esto te soluciona parte.. pero no todo, lo que pasa que yo llego 
sólohasta aquí :)

Suerte
f.
Posted by Manuel Pernalete (Guest)
on 01.05.2008 21:27
(Received via mailing list)
exacto amigo eso yo lo sabia lo que pasa es que no me supe explicar... 
me
sale el nombre del campo de la tabla lo cual al usuario final se ve
horrible... no se si me entiendes?

muchas gracias de todas maneras...

2008/5/2 Fernando Guillen <fguillen.mail@gmail.com>:
Posted by Miguel Michelson (samek)
on 01.05.2008 21:28
(Received via mailing list)
revisa tambien las clases de ActiveRecords en la api de Rails.
http://api.rubyonrails.com/classes/ActiveRecord/Errors.html


los errores los puedes manejar así en tus vistas

company.errors.each{|attr,msg| puts "#{attr} - #{msg}" }

 # =>
    name - is too short (minimum is 5 characters)
    name - can't be blank
    address - can't be blank



Saludos

On Thu, May 1, 2008 at 3:09 PM, Fernando Guillen 
<fguillen.mail@gmail.com>
Posted by Ruben Davila (rdavila)
on 01.05.2008 21:33
(Received via mailing list)
Hola Manuel, hay 2 salidas principales, o bien puedes usar 
error_messages_on
funcion que te devuelve solo el mensaje mas no el nombre del campo:

http://www.railsbrain.com/api/rails-2.0.2/doc/index.html?a=M001873&name=error_message_on

o bien puedes usar un plugin para esto:

http://agilewebdevelopment.com/plugins/custom_error_message

Es bueno recalcar tambien que una busqueda sencilla en google con "rails 
+
custom error message", puede dar solucion a esto rapidamente.

Saludos

2008/5/1 Manuel Pernalete <mpernaletetorres@gmail.com>:
Posted by Manuel Pernalete (Guest)
on 01.05.2008 21:47
(Received via mailing list)
pero ese codigo en donde lo coloco? en la view o en controller?? revise 
las
clases que me dijiste pero no dice gran cosa

2008/5/2 Miguel Michelsongs <miguelmichelson@gmail.com>:
Posted by Daniel Rodriguez Troitiño (Guest)
on 01.05.2008 22:52
(Received via mailing list)
Lee la documentación del método error_messages_for, vienen un 
montónde opciones para personalizarlo, y además una nota final muy
aclaratoria.
Posted by Manuel Pernalete (Guest)
on 02.05.2008 02:22
(Received via mailing list)
Hola Daniel ya lei la documentacion del metodo error_messages_for y he
cambiado las opciones siguientes:
:header_message =>"Han ocurrido errores antes de registrar la 
Información"
:message => "La lista de errores es la siguiente"

entonces aqui es donde viene mi duda.... en la vista me sale esto:
Han ocurrido Errores antes de Registrar la Información:

Los errores son los siguientes:

   - Tipopago --- El campo *Tipo de Pago* no puede ir en blanco
   - Tipopersona --- El campo *Tipo de Persona* no puede ir en blanco
   - Nombre --- El campo *Nombre de la Empresa* no puede ir en blanco

entonces yo no quiero que me salga el nombre de los campos de la tabla 
solo
quiero que me salga asi:

Han ocurrido Errores antes de Registrar la Información:

Los errores son los siguientes:

   - El campo *Tipo de Pago* no puede ir en blanco
   - El campo *Tipo de Persona* no puede ir en blanco
   - El campo *Nombre de la Empresa* no puede ir en blanco

En el modelo yo estoy colocando esto:
validates_presence_of :nombre, :message => "--- El campo <b>Nombre de la
Empresa</b> no puede ir en blanco"

Mi pregunta de nuevo para que me entiendan mucho mejor es:

Hay una manera de que en la vista no salga el nombre del campo?
NOTA: ya probé con el error_message_on pero es muy tedioso y ladilla 
porque
tengo que escribir N error_message_on por cada campo de la tabla... :S

Que me sugieres entonces amigo Daniel???






2008/5/2 Daniel Rodriguez Troitiño <notzcoolx@yahoo.es>:
Posted by Manuel Pernalete (Guest)
on 02.05.2008 02:40
(Received via mailing list)
Gracias a todos... Al final tuve que morir utilizando el plugins que me 
dijo
el amigo ruben

http://agilewebdevelopment.com/plugins/custom_error_message

este plugins evita que no salga el nombre del campo o atributo de la 
tabla o
clase como lo quieran llamar.... solo tienes que colocar antes del 
mensaje
el caracter 
<http://agilewebdevelopment.com/plugins/custom_error_message>'^'

No queria utilizar el plugins queria pero bueno fue la unica solucion

Muchas Gracias

El día 2 de mayo de 2008 19:51, Manuel Pernalete 
<mpernaletetorres@gmail.com>
escribió: