Я пишу пользовательский валидатор для AR с именем InvitationValidator. Итак, этот фрагмент кода:
User < ActiveRecord::Base
...
attr_accessor :invitation
attr_accessible :invitation
validates :invitation, :invitation => true, :allow_nil => true
end
не позволяет приглашению с нулевым значением проходить через
А этот параметр допускает нулевое значениечтобы пройти:
User < ActiveRecord::Base
...
attr_accessor :invitation
attr_accessible :invitation
validates :invitation, :invitation => true, if => lambda {|u| u.invitation.present?}
end
Мой валидатор выглядит так:
class InvitationValidator < ActiveModel::Validator
def validate(record)
record.errors.add(:invitation, :invalid) unless Invitation.where(:code => record.invitation).count > 0
end
end
Почему настройка allow_nil не помогает?(Кстати, я использую устройство)