在Heroku中运行任务的风格插件和弃用警告
我正在升级到Rails 3.2,并运行rake db:migrate,给了我几个形式的错误:
弃权警告:您在供应商/插件中拥有Rails 2.3式插件! 在Rails 4.0中将会删除对这些插件的支持。 将它们移出并将它们捆绑到Gemfile中,或者将它们作为lib / myplugin / *和config / initializers / myplugin.rb折叠到您的应用程序中。 有关更多信息,请参阅发行说明:http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released。 (从/ app / Rakefile调用:7)
有什么令人困惑的是我的vendor/plugins
目录是空的 - 是否有另一个插件目录参考?
你在使用Heroku吗?
Heroku将在Rails 3.x应用程序中注入插件。要避免在Rails 3中进行此注入,请在应用程序中包含rails_12factor gem。 (Heroku Ruby支持2013-10-26)
导轨4中也需要rails_12factor gem。
如果您的应用程序中不存在此gem,则在部署期间您将收到警告,并且您的资产和日志将不起作用。 (Heroku上的Rails 4 2013-10-26)
就在2013-08年,heroku总是在rails 3应用程序中注入插件,甚至包含推荐的gem应用程序。 这是ruby buildpack的一个问题,由PR 11修复,于2013-08-06合并。
你可以试试
::ActiveSupport::Deprecation.silenced = true
在你的production.rb
因为它只是噪音。
在config / environment.rb中添加:
ActiveSupport::Deprecation.silenced = true
在初始化rails之前,像这样:
# Load the rails application
require File.expand_path('../application', __FILE__)
ActiveSupport::Deprecation.silenced = true
# Initialize the rails application
MyApp::Application.initialize!
与在rake任务中禁用警告类似,在Rakefile顶部附近插入沉默配置:
# Load the rails application
require File.expand_path('../application', __FILE__)
ActiveSupport::Deprecation.silenced = true
# Initialize the rails application
MyApp::Application.initialize!
您可以选择将其包装在一个块中,以便在制作过程中保持沉默:
if ENV['RAILS_ENV'] == "production"
ActiveSupport::Deprecation.silenced = true
end
链接地址: http://www.djcxy.com/p/81129.html
上一篇: style plugins and deprecation warnings running task in Heroku