¿Los rieles tienen un validador como validates_numericality_of
para booleano o tengo que hacer el mío?Rieles: ¿cómo puedo validar que algo es un booleano?
Respuesta
Desde Rails 3, que puede hacer:
validates :field, inclusion: { in: [ true, false ] }
creo que para un campo booleano que tendrá que hacer algo como:
validates_inclusion_of :field_name, :in => [true, false]
de una versión anterior del API: "Esto es debido a la forma del objeto # blanco maneja valores booleanos falsa?.. en blanco? # => verdadero "
No estoy seguro si esto todavía estará bien para Rails 3, ¡espero que haya sido útil!
lol @ Rails 3. Puedo apostar que esta será la advertencia en los próximos meses. Ok, pensé que esta migth había sido y estás de acuerdo. ¡Gracias! – DJTripleThreat
¡Es cierto para Rails 4! Wow, false.blank? # => verdadero solo parece la respuesta * incorrecta *, algo que no esperaría de Rails. –
Cuando aplico esto, me sale:
Advertencia de Shoulda-comparadores:
está usando el validate_inclusion_of
afirmar que un valor lógico La columna permite valores booleanos y no permite los valores no booleanos. Tenga en cuenta que no es posible probarlo completamente, ya que las columnas booleanas convertirán automáticamente los valores no booleanos en booleanos. Por lo tanto, usted debería considerar eliminar esta prueba.
Para los campos donde se permite null, ¿todavía se convierte nil en booleano? – mwfearnley
- 1. ¿Cómo puedo probar que "algo" es un hash en Perl?
- 2. Cómo definir un campo booleano para una migración de rieles
- 3. Rieles validación de que un valor no es igual a
- 4. En Javascript Regex, ¿cómo puedo validar que una cadena es un color hexadecimal válido?
- 5. ¿Cómo puedo agregar un valor booleano a un NSDictionary?
- 6. Cómo validar GUID es un GUID
- 7. ¿Cómo crear un valor booleano?
- 8. ¿Cómo puedo agregar un campo booleano a MySQL?
- 9. (rieles) validar ayuda URL con expresiones regulares
- 10. Rieles: ¿Validar la presencia de la asociación?
- 11. ¿Cómo puedo cambiar la forma en que se imprime un booleano en una plantilla django?
- 12. ¿Cómo convencer a un cliente de que lo que quiere es algo malo que hacer?
- 13. Cómo validar que una refactorización es igual al código original
- 14. ¿Cómo puedo validar un archivo de video desde un script?
- 15. Rieles: ¿cómo validar un campo solo si otro campo tiene un cierto valor?
- 16. Validar que un archivo es una imagen en PHP
- 17. ¿Cómo puedo declarar un parámetro booleano en una declaración SQL?
- 18. ¿Cómo puedo validar CSS dentro de un script?
- 19. ¿Cómo validar un pasaporte?
- 20. jQuery - ¿Puedo validar un campo deshabilitado?
- 21. ¿Cómo puedo probar la unidad de algo que utiliza VisualTreeHelper?
- 22. ¿Cómo puedo validar la salida de XmlSerializer?
- 23. ¿MutationRecord.oldValue es algo que debería usar?
- 24. Rieles 3: ¿Cómo validar que A <B donde A y B son atributos del modelo?
- 25. ¿Cómo validar un JTextField?
- 26. ¿Validar que la llamada IPN es de PayPal?
- 27. Compruebe si el objeto Ruby es un booleano
- 28. ¿Cuál es la diferencia entre booleano y booleano en Java?
- 29. ¿Cómo presento un parámetro booleano en Rails?
- 30. ¿Debo crear un blog en rieles o usar algo que ya existe?
+1 Sí. Me gusta que brinden una manera de hacerlo así. – DJTripleThreat
Por lo tanto, esto obtiene la validación correcta, pero el mensaje de error no es útil para el usuario final: "myfield no está incluido en la lista" –
Buen punto. Puede personalizar el mensaje de error: http://guides.rubyonrails.org/active_record_validations_callbacks.html#message –