Rails - 返回true或false的方法

时间:2011-01-21 23:14:09

标签: ruby-on-rails ruby-on-rails-3

我正在创建一个返回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不会返回任何内容。有什么问题?感谢

1 个答案:

答案 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中常见的方法命名约定是对返回布尔值的方法使用尾随?