如何摆脱Devise上的电子邮件正则表达式消息?

时间:2016-05-15 16:13:18

标签: ruby-on-rails-4 authentication devise

我正在使用Devise Token Auth gem,每次我在Rails 4.2.5应用程序中运行我的测试套件时,我都会收到Devise的弃用警告:

  

DEPRECATION警告:[Devise] config.email_regexp将在Devise 4.1上有一个新的默认值   要保持当前行为,请在config / initializers / devise.rb中设置以下内容:

Devise.setup do |config|
   config.email_regexp = /\A[^@\s]+@([^@\s]+\.)+[^@\W]+\z/
end
     

如果您想使用新的默认值:

Devise.setup do |config|
   config.email_regexp = /\A[^@\s]+@[^@\s]+\z/
end
     

。 (在/usr/local/lib/ruby/2.2.0/tsort.rb:226中从tsort_each中的块调用)

我已经手动添加了 config / initializers / devise.rb 文件,并按照上述消息的建议设置了email_regex,但烦人的消息仍然存在。

如何禁用此消息?

1 个答案:

答案 0 :(得分:0)

与此post相关,您可以根据您工作的环境管理弃用警告,如rails guides中所述:

  

active_support.deprecation_behavior 为其设置弃用报告   环境,默认:日志 开发:通知   测试生产:stderr 。如果没有设置值   config.active_support.deprecation然后这个初始化程序将提示   用户在当前环境中配置此行   配置/环境文件。可以设置为值数组。

只需更改:log

config/environments/test.rb:stderr
Rails.application.configure do
   ...
   # Print deprecation notices to the stderr.
   config.active_support.deprecation = :log
   ...
end

有了这个,depecation警告将在log/test.log而不是在控制台输出中