我有以下代码:
def custom_validation
errors[:base] << "You must enter two street names" if self.streetone.blank? || self.streettwo.blank?
errors[:base] << "You must enter a valid 5-digit zipcode" if self.zipcode.blank? || ( self.zipcode.count != 5 )
end
关于zipcode
的第二条声明引发了错误:wrong number of arguments (0 for 1+)
,但我不确定如何改进它。
答案 0 :(得分:1)
count
没有按照您的想法执行:
count([other_str] +)→fixnum
每个other_str参数定义要计数的一组字符。该 这些集合的交集定义了要在str中计数的字符。任何 以插入符号^开头的other_str被否定。序列c1-c2 表示c1和c2之间的所有字符。反斜杠字符
</code>
可用于转义<code>^
或 - ,否则将被忽略 除非它出现在序列的结尾或other_str的结尾。
使用length
代替
errors[:base] << "You must enter a valid 5-digit zipcode" if self.zipcode.blank? ||
( self.zipcode.length!= 5 )