我正在使用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
,但烦人的消息仍然存在。
如何禁用此消息?
答案 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
而不是在控制台输出中