2012-04-26 3 views
0

Я пытаюсь создать проверку, которая обеспечивает соответствие поля :phone длине 9 цифр, если текущий объект имеет country_code, установленный на ES.Проверка длины атрибута ActiveRecord, отличной от другого атрибута объекта

Я пытаюсь сделать что-то подобное, но это не сработает.

validates_length_of :phone, :is => 9, :message => "number needs to be at least 9 digits." if self.country_code == "ES" 

ответ

2

Я думаю, что вы ищете:

validates_length_of :phone, :is => 9, 
:message => "number needs to be at least 9 digits.", 
:if => "country_code == 'ES'" 

Или

validates_length_of :phone, :is => 9, 
:message => "number needs to be at least 9 digits.", 
:if => Proc.new { |a| a.country_code == 'ES' } 

Взгляните на документы here.

Смежные вопросы