Rails 3 проблемы маршрутизации активов в производстве - PullRequest
0 голосов
/ 21 декабря 2011

В настоящее время мои активы хранятся в файлах jquery.rest.js и jquery-ui-1.8.11.custom.min.js в каталоге app / assets, но я продолжаю получать следующие ошибки в своих производственных журналах.

Started GET "/assets/jquery.rest-f1490ffc30dcefe21715ae360de2bead.js" for 24.141.74.123 at 2011-12-20 18:40:50 -0500
Served asset /jquery.rest-f1490ffc30dcefe21715ae360de2bead.js - 404 Not Found (3ms)

ActionController::RoutingError (No route matches [GET] "/assets/jquery.rest-f1490ffc30dcefe21715ae360de2bead.js"):


Started GET "/assets/jquery-ui-1.8.11.custom.min-707e06de7fe351e6e77e419988c20fd6.js" for 24.141.74.123 at 2011-12-20 18:40:50 -0500
Served asset /jquery-ui-1.8.11.custom.min-707e06de7fe351e6e77e419988c20fd6.js - 404 Not Found (3ms)

ActionController::RoutingError (No route matches [GET] "/assets/jquery-ui-1.8.11.custom.min-707e06de7fe351e6e77e419988c20fd6.js"):

Мое приложение работает в разработке, я не знаю, почему длинная строка добавляется в конце имени файла javascript, т.е. -707e06de7fe351e6e77e419988c20fd6 для jquery-ui-1.8.11.custom.min.js в работе

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

Строка называется отпечатком пальца.Rails добавляет их в производственном режиме, чтобы разрешить кэширование активов на стороне клиента для повышения производительности.Это описано в руководстве по конвейеру ресурсов Rails

Одним из побочных продуктов принятия этой стратегии является то, что вы должны предварительно скомпилировать свои файлы для производства.Это делается с помощью специальной задачи, встроенной в Rails, и обычно запускается Capistrano во время развертывания (это необходимо настроить - подробности приведены в руководстве).

Также, когда у вас есть файлы js и cssкоторые не находятся в манифесте (по умолчанию application.css и application.js), они не будут предварительно скомпилированы, если вы не добавите их в переменную конфигурации.

Можете ли вы отредактировать свой вопрос, включив в него ссылку нафайлы, а также дайте мне знать, если вы используете манифесты и если вы прекомпилируете или нет?

0 голосов
/ 30 июня 2012

У меня такая же проблема.

Комментарий под выбранным ответом не для меня, но у меня работает следующее:

- vim config/application.rb

# Comment this to avoid `ActionController::RoutingError (No route matches [GET] "/assets/jquery-ui-1.8.16.custom.min-1116bf6f7eb1469bb3c60f6af13199ac.js");`
#    config.assets.debug   = true

Спасибо.

...