Почему "rails server -e production" делает его "Нет совпадений маршрутов" / "и таблица стилей не загружается? - PullRequest
9 голосов
/ 13 марта 2011

На нем работает Rails 3.0.0 или Rails 3.0.5 (с использованием Ruby 1.9.2)

в режиме разработки

rails server

затем http://localhost:3000 работает все отлично, и http://localhost:3000/foos загрузит stylesheet.css

но когда это

rails server -e production

тогда внезапно http://localhost:3000 дает:

No route matches "/"

и http://localhost:3000/foos могут работать, но stylesheet.css не загружается, и его открытие в браузере показывает:

No route matches "/stylesheets/scaffold.css"

Нужен ли специальный маршрут для производства против разработки? (или это по какой-то другой причине?)

1 Ответ

19 голосов
/ 13 марта 2011

Вам нужно установить

 config.serve_static_assets = true

в config/environments/production.rb. Скорее всего, это уже закомментировано.

По умолчанию Rails не обслуживает статические файлы сам по себе, поскольку полнофункциональные веб-серверы, такие как Nginx или Apache, в любом случае будут обслуживать их автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...