2012-06-09 21 views
7

estoy trabajando a través de los carriles para los zombis, Amoroso el tutorial útil e interesados ​​en otros por el camino ....múltiples validaciones Rails 3 (carriles para Zombies; 2: 3)

Mi problema es el siguiente.

El tutorial me piden que

"hacer ambas cosas singularidad y la presencia de validación en el nombre de un zombi en una sola línea, usando la nueva sintaxis"

He intentado lo siguiente en la consola al rfz;


class Zombie < ActiveRecord::Base 
    validates_uniqueness_of :name, validates_presence_of :name 
end 

// // Y

class Zombie < ActiveRecord::Base 
    validates Name :uniqueness, :presence => true 
end 

El tutorial está pidiendo los nuevos carriles 3 de sintaxis. Entiendo que la nueva sintaxis permite múltiples argumentos de validación en una línea. Muy bien, pero ¿cómo haría esto? Gracias de antemano a todos.

-Ryan

Respuesta

9

Su segundo intento está más cerca, pero no del todo correcta. Prueba esto:

class Zombie < ActiveRecord::Base 
    validates :name, :uniqueness => true, :presence => true 
end 

FYI, la sintaxis anterior sería:

class Zombie < ActiveRecord::Base 
    validates_presence_of :name 
    validateS_uniqueness_of :name 
end 
+0

Rob, rock, gracias. Lo aprecio totalmente, eso funcionó. También veo por qué. –

+0

¡Sin problemas! Nota: generalmente debe aceptar una respuesta que satisfaga su pregunta para que su pregunta se cierre, y para que las personas que buscan Stack Overflow puedan encontrar la respuesta si tienen una pregunta similar. –

+0

OK. Déjame tomar un segundo para resolver esto, así puedo aceptar tu respuesta Rob, gracias de nuevo. –

5
validates :name, :presence => true, :uniqueness => true 
+1

¿Por qué esta pregunta fue votada? Fue la primera respuesta a la pregunta AFAIK –

0

También puede probar esto.

class Zombie < ActiveRecord::Base 
     validates :name, presence: true, uniqueness: true 
    end