Почему жемчуг rails_12factor необходим для Heroku?
Я заметил, что в новой версии Michael Hartl Ruby on Rails Tutorial говорится, что для обслуживания статических ресурсов на Heroku следует включить следующее:
gem 'rails_12factor', group: :production
В предыдущей версии его книги этого не было. Может ли кто-нибудь объяснить детали того, что произошло с Heroku, для которого требуется этот камень?
Ответы
Ответ 1
Лучший ответ, который я мог найти, - это посмотреть rails_12factor README.
Также обсуждается, почему Героку решил включить драгоценный камень: Почему этот камень существует?
Особенно прочитайте ответ от schneems примерно на половину страницы.
Ответ 2
Этот драгоценный камень позволяет обслуживать активы в производстве и устанавливать ваш регистратор на стандартный, оба из которых необходимы для запуска приложения Rails 4 на двенадцатифакторном провайдере. Драгоценный камень также вносит соответствующие изменения в приложения Rails 3.
Ответ 3
В Приступая к работе с Rails 4.x на Heroku, мы можем прочитать это:
Интеграция Heroku ранее основывалась на использовании плагиновой системы Rails, которая была удалена из Rails 4. Чтобы включить такие функции, как статический сервис и ведение журнала на Heroku, добавьте в свой Gemfile файл rails_12factor.
Ответ 4
Более старый вопрос, но для приложений FWIW Rails 5 не требуется драгоценный камень rails_12factor
. На README
:
Мы работали с основной командой Rails, чтобы сделать Rails 5 работать на 12-факторных платформах из коробки.
Существует также фрагмент для перехода на Rails 5.
Ответ 5
Просто столкнулся с проблемой с приложением Rails 4 на Heroku и не смог отладить его с помощью heroku run logs
. Без драгоценного камня rails12factor
вы не можете видеть полные журналы, которые вы обычно видите на консоли в процессе разработки. Я получал ошибку 500 и не было никакой доступной информации.
На самом деле я не сказал, что миграция ожидала без rails12factor