2011-09-05 24 views
6

que tienen un modelo sencillo con las siguientes propiedades:validaciones DataMapper, errores vacíos

property :title, String, 
    :required => true, 
    :length => 1..200 

property :body, String, 
    :required => true, 
    :length => 1..200 

Cuando lo guardo (mediante el método Save) con un título que no valida, no va a salvar, pero consigo el objeto siguiente:

<DataMapper::Validations::ValidationErrors:0x00000003133e10 
@resource=#<Pun @id=nil @image="" @title="" @body="dsfsdf" @description=nil 
@published=nil @user_id=1 @round_id=nil>, @errors={}> 

Así que el hash de errores está vacía. Sin embargo, cuando la propiedad del cuerpo está vacía, el hash de errores detecta su problema.

¿Alguna idea de por qué el hash de errores está vacío cuando se trata de la propiedad: title?

Gracias

Respuesta

0

Así knowtheory escribieron en un comentario en un blog (en 2010) que se han creado algunos métodos de ayuda para compensar esto. Sus ejemplos para un modelo de usuario:

User.raise_on_save_failure = true - para que todas las instancias de usuarios exploten.

DataMapper.raise_on_save_failure = true - para que TODO explote si no se guarda correctamente.

definiciones Fuente: dm-core/model.rb y dm-core/resource.rb