2013-02-20 11 views

Odpowiedz

19

Można podać wiele nazw pól do walidatora

validates :col_a, :col_b, :col_c, :presence => true 

Można określić wiele weryfikatorów w tej samej linii.

validates :col_a, :col_b, :col_c, :presence => true, :numericality => true 

Pełny komunikat o błędzie zawiera nazwę pola. Nie trzeba dodawać prefiksu nazwy pola. Jeśli chcesz użyć niestandardowej wiadomości, to:

validates :col_a, :col_b, :col_c, :presence => {:message => "empty value found"} 
1

Użyj pomocnika validates_presence_of.

validates_presence_of :col_a 

EDIT

Można go oczyścić trochę z validates_each. Istnieje przykład na stronie APi. http://api.rubyonrails.org/classes/ActiveModel/Validations.html

nadzieję, że pomoże

+0

Dzięki. Jestem świadomy istnienia pomocnika <3 pomocniczego. Pytanie brzmiało (a) jak korzystać z walidatora w stylu "szyny 3", (b) jak radzić sobie z wieloma colami bardziej zwięźle, mam nadzieję, że z niestandardowymi komunikatami dla każdego. – danh

+0

validates_each powinien to dla ciebie oczyścić – jbearden

2

Można użyć

validates :col_a, presence: true 
validates :col_b, presence: true 
validates :col_c, presence: true