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

Ошибка маршрутизации статических файлов Rails

Когда я запускаю свое приложение локально в test/dev, мои взгляды выглядят красиво, и все радует. Когда я пытаюсь перейти к тем же файлам erb, запущенным на моем удаленном сервере/локальном сервере, я получаю следующие ошибки:

ActionController::RoutingError (No route matches "/stylesheets/scaffold.css")

Я видел похожие вопросы здесь, на SO, но никто не смог решить мою проблему. Самое близкое, что я нашел для ответа, - это первый ответ здесь: Ошибка Rails 404 для файлов стилей или JavaScript

Как я понимаю, лучше всего было бы настроить мой веб-сервер для обслуживания статических файлов. Как это сделать локально/на Heroku?

Обновление

В соответствии с предложением raidfive я изменил config.serve_static_assets от false до true, и это исправило мою проблему. Тем не менее, я вижу, что в production.rb говорится, что Apache или nginx уже должны обслуживать статические активы. Не менее ли хорошо/профессионально обслуживать статические активы таким образом, и если да, то как мне достичь желаемых результатов, если я использую Heroku?

Обновление 2

Очевидно, Heroku делает это автоматически, у меня была дополнительная запятая, которая вызывала зло. Я смог посмотреть в расширенных журналах Heroku, используя следующий совет, чтобы отслеживать проблемы. Спасибо, SO!

4b9b3361

Ответ 1

Используете ли вы Rails 3? По умолчанию Rails 3/webrick не поддерживает статические файлы в режиме производства. Вы можете легко включить это, установив

config.serve_static_assets до true в вашем файле production.rb.

Ответ 2

В Rails5 вы должны прокомментировать

"config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?" 

in config/enviroment/production.rb