Ответ 1
Это устарело в Rails 4.2, и теперь это псевдоним, который должен быть удален в Rails 5.0
config.serve_static_assets = true
Его следует изменить на:
config.serve_static_files = true
Окружение: геройку
Рельсы: 4
Рубин: 2
Мы развернули приложение на heroku, и казалось, что что-то в общедоступной папке было недоступно (не видел статический файл, поэтому маршрутизатор включился, а затем жалуется на отсутствие соответствия маршрута).
Чтобы обойти это, мы установили
# Rails 4 only flag
config.serve_static_assets = true
в нашем файле production.rb. Это действительно лучший способ справиться с этим? Или мы не смогли настроить приложение, как правильно разместить его на heroku?
Это устарело в Rails 4.2, и теперь это псевдоним, который должен быть удален в Rails 5.0
config.serve_static_assets = true
Его следует изменить на:
config.serve_static_files = true
В предыдущих версиях Rails Heroku вставлял плагин, который позволял обслуживать статические ресурсы, поэтому этой проблемы не было. Поскольку эта система плагинов была удалена в Rails 4, теперь они создали гем, который делает то же самое. Вы включаете его в своем Gemfile через:
gem 'rails_12factor', group: :production
См. Начало работы с Rails 4.x в Heroku
.Конечно, вы также можете использовать CDN для своих активов, но это не обязательно.
Как сказал Дин Винчестер, это хорошая идея использовать CDN для ваших статических активов. Фактически, при использовании только Heroku ваше приложение Rails должно было бы нести ответственность за статические активы, поскольку архитектура Heoku Cedar не будет делать это для вас.
Настройка config.serve_static_assets = true
- это путь, если вы не хотите настраивать CDN и использовать только Heroku.
Направляющие направляющих неправильны. Попробуйте...
config.assets.serve_static_files = true