17

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

gem 'rails_12factor', group: :production

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

4

6 回答 6

8

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

还有一个关于为什么 Heroku 决定包含 gem 的讨论:为什么这个 gem 存在? 尤其是在页面的一半左右阅读schneems的答案

于 2013-12-06T04:02:19.997 回答
4

这个 gem 可以在生产环境中为资产提供服务并将您的记录器设置为标准输出,这两者都是在十二因素提供程序上运行 Rails 4 应用程序所必需的。gem 还为 Rails 3 应用程序进行了适当的更改。

于 2013-11-25T04:54:56.587 回答
4

Heroku 上的 Rails 4.x 入门中,我们可以阅读以下内容:

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

于 2014-06-06T14:54:48.747 回答
2

较旧的问题,但 FWIW Rails 5 应用程序不需要rails_12factorgem。根据README

我们与 Rails 核心团队合作,使 Rails 5 在十二因素平台上开箱即用。

还有一个用于迁移到 Rails 5 的片段。

于 2017-10-09T21:39:52.003 回答
0

从 Rails 5 开始,您不再需要在Gemfile. 他们也从他们的文档中删除了它:https ://github.com/railsbridge/docs/issues/569

于 2019-05-30T21:40:14.277 回答
0

刚刚在 Heroku 上遇到了 Rails 4 应用程序的问题,无法使用heroku run logs. 如果没有rails12factorgem,您将无法看到通常在开发中的控制台上看到的完整日志。我收到 500 错误,没有任何可用信息。

它实际上并没有告诉我迁移正在等待中rails12factor

于 2016-08-27T05:31:41.537 回答