Rails - метод, который возвращает истину или ложь - PullRequest
0 голосов
/ 22 января 2011

Я работаю над созданием метода, который возвращает 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 Ответ

2 голосов
/ 22 января 2011

Попробуйте это:

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 принято называть соглашение об именах методов с помощью завершающего ? для методов, возвращающих логическое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...