Подтвердить что ты не робот

Запуск rails app на heroku, не может видеть статические страницы в/общедоступной папке

У меня есть пара статических страниц, которые при запуске локально работают как localhost: 3000/foo.html, но это не работает после загрузки в герою.

Я попытался добавить в файл routes.rb следующее:

match '/foo', :to => redirect('/public/foo.html')

но это, похоже, не работает, оно перенаправляет меня на foobar.com/public/foo.html, но ничего там не находит.

4b9b3361

Ответ 1

Per в этой статье, вам нужно будет указать Rails для обслуживания статических активов:

config.serve_static_assets = true

в config/environments/production.rb

Ответ 2

В качестве альтернативы вы можете добавить камень rails_12factor в производственную группу:

gem 'rails_12factor', group: :production

согласно Heroku. Это также будет перенаправлять журнал на stdout, также требуемый Heroku.

Ответ 3

Это несколько сбивало меня с толку, но здесь еще одно потенциальное решение. По какой-то причине я мог генерировать документацию в /public/docs, но документация не загружалась, даже сразу после ее создания. Я бы запустил консоль Heroku bash, сгенерировал документацию, выходил, а затем повторно запускал Heroku bash только для того, чтобы найти, что /public больше не содержит мою папку docs.

Итак, единственным решением, которое я нашел, было включение документации в репозиторий Git. Это был единственный способ, которым Heroku сохранял /public/docs для развертываний и bash экземпляров.

Я понятия не имею, почему это... Я открыл билет поддержки с Heroku и ожидаю ответа.