在ActiveRecord(或ActiveModel)中,我希望通过以下规范
it { should allow_value("").for(:my_string) } it { should_not allow_value(nil).for(:my_string) }
我努力了
validates :my_string,{ :length => { :in => 0..255 },:presence => true,:allow_blank => true,:allow_nil => false,}
并且
validates :my_string,}
但是,它既允许“”也不允许,或者没有.
解决方法
您可能需要为此进行自定义验证:
validates :my_string,:length => { :in => 0..255 } validate :my_string_is_valid def my_string_is_valid self.errors.add :base,'My string can not be nil' if self.my_string.nil? end