Le barre hanno un validatore come validates_numericality_of
per booleano o devo eseguire il rollover?Rails: come convinco che qualcosa è un booleano?
risposta
Dal Rails 3, si può fare:
validates :field, inclusion: { in: [ true, false ] }
credo che per un campo booleano è necessario fare qualcosa di simile:
validates_inclusion_of :field_name, :in => [true, false]
da una versione precedente del API: "Questo è dovuto al modo in Object # vuoto gestisce i valori booleani falso?.. blank? # => true "
Non sono sicuro se questo andrà bene per Rails 3, spero che sia stato d'aiuto!
lol @ Rails 3. Posso scommettere che questo sarà l'avvertimento per i mesi a venire. Ok, ho pensato che fosse così e tu sei d'accordo. Grazie! – DJTripleThreat
È vero per Rails 4! Wow, false.blank? # => true sembra proprio la risposta * errata *, qualcosa che non mi aspetterei da Rails. –
Quando applico questo, ottengo:
Attenzione da Shoulda-matchers:
Si utilizza validate_inclusion_of
ad affermare che un valore booleano la colonna consente i valori booleani e non consente quelli non booleani. Si tenga presente che non è possibile testare completamente questo , poiché le colonne booleane convertiranno automaticamente valori non booleani in valori booleani da . Quindi, è dovrebbe prendere in considerazione la rimozione di questo test.
Per i campi in cui è consentito nullo, converte comunque nil in booleano? – mwfearnley
- 1. Esiste qualcosa come jQuery.toggle (booleano)?
- 2. Come convinco coq che (A/\ B)/\ C == A/\ B/\ C?
- 3. Come convinco Xcode e Git che il mio catalogo delle risorse è stato aggiornato?
- 4. Come scrivere un matcher che non è uguale a qualcosa
- 5. Rails where clause quando qualcosa è memorizzato come array
- 6. Rails check_box_tag controllato secondo il valore booleano
- 7. Rails validates_presense non convalida su booleano?
- 8. mod_pagespeed and Rails: migliora qualcosa?
- 9. Restituisce qualcosa che è allocato nello stack
- 10. In che modo è possibile serializzare/deserializzare un valore booleano da FasterXML \ Jackson come un Int?
- 11. Come affermare che qualcosa è nullo con Hamcrest?
- 12. Come nascondere qualcosa che è già stato stampato in Python
- 13. Angularjs che visualizza booleano dall'oggetto
- 14. Errore Rails 500, "Siamo spiacenti, ma qualcosa è andato storto"
- 15. Come creare un valore booleano?
- 16. Come posso fare qualcosa come find_in_batches_by_sql in Rails
- 17. : quale denominazione di un metodo che restituisce un valore booleano?
- 18. Come negare un booleano in una pipeline?
- 19. Come nasce "non qualcosa che possiamo unire"?
- 20. booleano [] rispetto a BitSet: che è più efficiente?
- 21. Come affermare che un elenco non contiene qualcosa, con FEST?
- 22. Come posso verificare che "qualcosa" sia un hash in Perl?
- 23. C'è qualcosa come MAMP per Ruby on Rails?
- 24. In che modo Ruby on Rails "content_for: title" ottiene qualcosa che viene assegnato in seguito?
- 25. Rails link_to: Fare qualcosa dopo la conferma
- 26. Come convinco il wizard di Visual Studio Publish Web che il mio database è Entity Framework CodeFirst?
- 27. Procedura T-SQL che fornisce un risultato booleano
- 28. Qual è la differenza tra booleano e booleano in Java?
- 29. C'è qualcosa in Node.js come lo scaffold in Rails?
- 30. Controlla se qualcosa è un elenco
+1 Sì. Mi piace che forniscono un modo per farlo in quel modo. – DJTripleThreat
Quindi, questo ottiene la convalida corretta, ma il messaggio di errore non è utile per l'utente finale: "myfield non è incluso nell'elenco" –
Buon punto. È possibile personalizzare il messaggio di errore: http://guides.rubyonrails.org/active_record_validations_callbacks.html#message –