我正在创建一个返回true或false的方法,但它既不返回,我做错了什么?
在控制器中:
valid_email_domain(email.to_s)
protected
def valid_email_domain(emailAddy)
reg = Regexp.new /#{User::INVALID_EMAILS.map{|a| Regexp.quote(a)}.join("|")}/
Rails.logger.info 'REGEX TIME'
Rails.logger.info emailAddy.scan(reg).size
if emailAddy.scan(reg).size == 0
return true
else
return false
end
end
valid_email_domain不会返回任何内容。有什么问题?感谢
答案 0 :(得分:2)
试试这个:
def valid_email_domain?(emailAddy)
reg = Regexp.new /#{User::INVALID_EMAILS.map{|a| Regexp.quote(a)}.join("|")}/
Rails.logger.info 'REGEX TIME'
Rails.logger.info emailAddy.scan(reg).size
emailAddy.scan(reg).size == 0
end
作为一个侧面,Ruby中常见的方法命名约定是对返回布尔值的方法使用尾随?
。