为什么在Heroku上需要rails_12factor gem?

时间:2013-11-01 08:38:08

标签: heroku

我注意到Michael Hartl Ruby on Rails Tutorial的新版本说要包含以下内容以便在Heroku上提供静态资产

gem 'rails_12factor', group: :production

他的书的前一版本没有。有人可以解释Heroku发生的需要这个宝石的细节吗?

6 个答案:

答案 0 :(得分:7)

我能找到的最佳答案是查看rails_12factor README

还讨论了为什么Heroku决定加入宝石:Why does this gem exist? 特别是read the answer from schneems大约在页面的中间位置。

答案 1 :(得分:4)

此gem可以在生产中提供资源并将记录器设置为标准输出,这两者都是在12因子提供程序上运行Rails 4应用程序所必需的。 gem还对Rails 3应用程序进行了适当的更改。

答案 2 :(得分:4)

Getting Started with Rails 4.x on Heroku中,我们可以阅读:

  

Heroku集成以前依赖于使用Rails插件系统,该系统已从Rails 4中删除。要启用静态资产服务和Heroku登录等功能,请在您的Gemfile中添加rails_12factor gem。

答案 3 :(得分:1)

较早的问题,但FWIW Rails 5应用程序不需要{{1}} gem。根据{{​​3}}:

  

我们与Rails核心团队合作,使Rails 5可以开箱即用12个平台。

还有一个迁移到Rails 5的代码段。

答案 4 :(得分:0)

在Heroku上遇到Rails 4应用程序的问题,无法使用HttpClient.PostAsync().Result进行调试。如果没有heroku run logs gem,您将无法看到通常在开发中的控制台上看到的完整日志。我收到500错误,但没有任何可用信息。

它实际上没有告诉我没有rails12factor

的迁移正在等待处理

答案 5 :(得分:0)

从Rails 5开始,您不再需要在Gemfile中包含此gem。他们还从文档中将其删除:https://github.com/railsbridge/docs/issues/569