首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Heroku中运行任务的Rails 2.3样式插件和弃用警告

在Heroku中运行任务的Rails 2.3样式插件和弃用警告
EN

Stack Overflow用户
提问于 2012-01-27 08:14:42
回答 8查看 21.6K关注 0票数 155

我正在升级到Rails 3.2,运行rake db:migrate时会出现以下几个错误:

弃用警告:供应商/插件中有Rails2.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。(从at /app/Rakefile调用:7)

令人困惑的是,我的vendor/plugins目录是空的--它是否引用了另一个插件目录?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-01-28 11:06:23

你在用Heroku吗?

Heroku将在Rails 3.x应用程序中注入插件。为了避免在Rails3中出现这种注入,请在应用程序中包含rails_12factor gem。(Heroku Ruby Support 2013-10-26)

在rails 4中也需要rails_12factor gem。

如果您的应用程序中不存在此gem,您将在部署时收到警告,并且您的资产和日志将不起作用。(Rails 4 on Heroku 2013-10-26)

就在2013-08年,heroku总是在Rails3应用程序中注入插件,甚至是带有推荐的gem的应用程序。这是ruby构建包的一个问题,并由PR 11修复,于2013-08-06合并。

票数 203
EN

Stack Overflow用户

发布于 2012-02-15 00:33:47

你可以试试

代码语言:javascript
复制
::ActiveSupport::Deprecation.silenced = true

在你的production.rb里,因为那只是噪音。

票数 12
EN

Stack Overflow用户

发布于 2012-06-05 03:57:06

在config/environment.rb ment.rb中添加:

代码语言:javascript
复制
ActiveSupport::Deprecation.silenced = true 

在初始化rails之前,如下所示:

代码语言:javascript
复制
# Load the rails application                                                                                                                                             
require File.expand_path('../application', __FILE__)

ActiveSupport::Deprecation.silenced = true                                                                                                                               

# Initialize the rails application                                                                                                                                       
MyApp::Application.initialize!

类似地,要禁用rake任务中的警告,请在Rakefile顶部附近插入静默配置:

代码语言:javascript
复制
# Load the rails application                                                                                                                                             
require File.expand_path('../application', __FILE__)

ActiveSupport::Deprecation.silenced = true                                                                                                                           

# Initialize the rails application                                                                                                                                       
MyApp::Application.initialize!

您可以选择将其包装在一个块中,以便仅在生产环境中保持静默:

代码语言:javascript
复制
if ENV['RAILS_ENV'] == "production"
  ActiveSupport::Deprecation.silenced = true
end
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9027403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档