DEPRECATION警告:初始化自动加载了常量ActionText::ContentHelper和ActionText



我正在努力理解弃用警告:

DEPRECATION WARNING: Initialization autoloaded the constants 
ActionText::ContentHelper and ActionText::TagHelper.
Being able to do this is deprecated. Autoloading during initialization is 
going
to be an error condition in future versions of Rails.
Reloading does not reboot the application, and therefore code executed during
initialization does not run again. So, if you reload 
ActionText::ContentHelper, for example,
the expected changes won't be reflected in that stale Module object.
These autoloaded constants have been unloaded.
In order to autoload safely at boot time, please wrap your code in a reloader
callback this way:
Rails.application.reloader.to_prepare do
# Autoload classes and modules needed at boot time here.
end
That block runs when the application boots, and every time there is a reload.
For historical reasons, it may run twice, so it has to be idempotent.
Check the "Autoloading and Reloading Constants" guide to learn more about how
Rails autoloads and reloads.
(called from <top (required)> at 
/home/keith/development/pciapp/config/environment.rb:5)

这个贬损警告意味着什么?我该如何解决它?

在我的Rails 6.1应用程序中,经过一点侦查,发现了这个弃用警告的两个来源。

  1. 我在几个初始化程序中引用了ActionMailer::Base。基于Rails指南中的建议(https://guides.rubyonrails.org/action_mailer_basics.html#action-mailer配置(,我决定将所有这些引用移到environment.rb.

  2. mailgun ruby gem v 1.2.3显然也产生了同样的弃用错误。第1.2.4版中似乎已经修复了弃用警告。

这是rails 6.0.0中的一个问题https://github.com/rails/rails/issues/36546更新到rails 6.0.1应该可以修复这个

相关内容

  • 没有找到相关文章

最新更新