我注意到的迈克尔·哈特尔的Ruby on Rails Tutorial新版本说要包括以下内容在Heroku为什么Heroku上需要rails_12factor gem?
静态资产gem 'rails_12factor', group: :production
以前的版本,他的书没有说。有人可以解释Heroku发生的事情需要这个宝石的细节吗?
我注意到的迈克尔·哈特尔的Ruby on Rails Tutorial新版本说要包括以下内容在Heroku为什么Heroku上需要rails_12factor gem?
静态资产gem 'rails_12factor', group: :production
以前的版本,他的书没有说。有人可以解释Heroku发生的事情需要这个宝石的细节吗?
该gem支持在生产环境中提供服务资产并将您的记录器设置为标准输出,这两者都需要在十二因素提供商上运行Rails 4应用程序。这个宝石也为Rails 3应用程序做了适当的修改。
如果您不使用资产管道,该怎么办? –
@john - 那你为什么使用rails? –
这是一个奇怪的问题。 Rails提供的远不止是开发者的资产管道。还有一些遗留代码需要考虑。在我的例子中,我正在研究资产前管道代码。 –
我能找到的最佳答案是通过查看rails_12factor README。
还有一个关于为什么Heroku决定包括宝石的讨论:Why does this gem exist? 尤其是read the answer from schneems大约在页面的中间位置。
在Getting Started with Rails 4.x on Heroku,我们可以看到这一点:
Heroku的融合已经在使用Rails插件系统,该系统已经从滑轨4.删除启用功能以前依赖诸如静态资产服务和登录Heroku请将rails_12factor gem添加到您的Gemfile中。
刚在Heroku上遇到Rails 4应用程序的问题,无法用heroku run logs
进行调试。如果没有rails12factor
gem,则无法在开发中看到控制台上通常显示的完整日志。我得到了500错误,并没有任何可用的信息。
它居然没告诉我,移民是没有rails12factor
旧问题悬而未决,但FWIW的Rails应用5不需要rails_12factor
宝石。按照README
:
我们与Rails核心团队合作,使Rails 5能够在12个因子的平台上工作。
还有迁移到Rails 5
它与记录是如何完成的一个片段有https://devcenter.heroku.com/articles/rails4 – taro
什么时候改变记录行为在Heroku上发生? – user782220
我相信,他们总是有这种记录,但以前他们会自动将一些代码注入到应用程序中。我建议你阅读宝石的源代码,如果你真的感兴趣。 – taro