Problemas con error_message_for

Buenas, otro problema que se me resiste en la aplicación.
Estamos usando el plugin error_message_for para la personalización de
los
mensajes de error, y funciona bien con todas las tablas excepto
‘topics’.
Tenemos de modelo:

class Topic < ActiveRecord::Base

belongs_to :subcategory
validates_presence_of :name, :message => “no puede estar vacío.”
validates_presence_of :text, :message => “no puede estar vacío.”
validates_uniqueness_of :name, :message => “ya existe.”
validates_length_of :name, :maximum => 50, :message => “no puede
contener más de 50 caracteres.”
acts_as_taggable
end

Y en el formulario

<%= error_messages_for(‘classroom’,

:attr_names => {'name' => 'Error en el nombre:',
                         'texto' => 'Error en el texto'},
:defaults => true,
:header => 'Se han producido errores en la creación del tema',
:sub_header => 'Hay problemas con los siguientes campos' ) %>

Ahora, cuando intentas hacer un new (o cualquier cosa q llame al
error_mesage_for), da el siguiente error.

You have a nil object when you didn’t expect it!

En los demás sitios con error_message_for, esta igual y no da problemas.
La
única diferencia que veo es topics tiene acts_as_tageable. ¿Puede eso
dar
algún problema con el error_message_for?

Saludos y gracias

Hola.

Parece que estás intentando mostrar los errores del objeto classroom,
pero ese objeto no existe. Cuando creas el Topic en la acción que
invocas desde el formulario, llamas @classroom al objeto?

Saludos

Ruben S.
escribió:> Buenas, otro problema que se me resiste en la aplicación.

      validates_length_of :name, :maximum => 50, :message => "no
    :header => 'Se han producido errores en la creación del tema',

Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


Andrés Cirugeda E.
ASPgems
Email: andres at aspgems dot com

‘All we have to decide is what to do with the time that is given to us’.
Gandalf.

Muchas gracias. Lo de classroom fue que me cole copiando y pegando en el
correo, debería poner topic.
De todas formas ya esta solucionado, el error era que en el método new
del
controlador faltaba @topic = Topic.new, aunque luego lo vuelvas a crear
en
el método create que se llama cuando pulsas el botón del formulario.

Saludos