Предварительно скомпилированные ресурсы rails 3.2 вызывают внутреннюю ошибку 500 сервера и журнал: отсутствует кеш - PullRequest
2 голосов
/ 06 февраля 2012

В рельсах 3.2 приложения в производственном режиме. У меня есть следующие настройки в config / environment / production.rb:

config.assets.compile = false

когда я захожу на главную страницу приложения, я получаю (внутренняя ошибка сервера 500), и в журнале я вижу только

cache: [GET /] miss

Если я изменюсь

config.assets.compile = true

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

Примечание: Если живая компиляция Sprockets установлена ​​в true (и сайт работает), и я проверяю сетевой журнал firebug, я вижу, что некоторые файлы css или js не обслуживаются, но это нормально для меня, поскольку их на самом деле не существует. Например, я не использую какие-либо конкретные CSS или JS в представлении затрат, и у меня нет cost.css или cost.js. Может ли это быть источником проблемы, нужно ли мне создавать все эти файлы, даже если они пусты?

1 Ответ

2 голосов
/ 07 февраля 2012

Если вы ссылаетесь на файл, то есть на него ссылается Rails, то он должен существовать.

В помощнике Rails происходит то, что он ищет файл в манифесте, который содержитДайджесты (для производства) всех файлов.Это не получится, если файл не существует.

Я предлагаю удалить любые ссылки на файлы, которые не существуют.

Ссылки на файлы, которые вам нужны, должны быть добавлены вмассив прекомпиляции.

...