Мой вопрос похож на этот Rails 3.2 Asset Pipeline with Passenger Endless Errors за исключением того, когда я пытаюсь на самом деле пойтиRails 3.2 Asset Pipeline с тонкими и Apache, не находя активы
<link href="/assets/application-eed7996ee9017637f923133371ab3e92.css" media="all" rel="stylesheet" type="text/css" />
я получаю 404. Вот, что я не» Т понять. Он ищет в/assets /, но когда я смотрю на код, который был развернут, активы находятся только в/public/assets, что на самом деле является символической ссылкой на/var/www/myapp/shared/assets. Итак, что в мире отвечает за сообщение приложения, что поиск/активы приведут к правильным результатам?
Я использую Rails 3.2.0, ruby-1.9.3-p125, развертывая Ubuntu, Apache и Thin.
Я должен уточнить: Мои активы действительно развернуты на сервере. Все работает отлично, пока их не нужно подавать, и в этом случае production.log говорит мне, что они ищут их в /assets/application-eed7996ee9017637f923133371ab3e92.css, которые 404's.
Для каждого запроса мой thin.log говорит
cache: [GET /] miss
и production.log говорит
ActionController::RoutingError (No route matches [GET] "/assets/application-abecf2e096af9ee80697fd49e79a55e7.js"):
UPDATE @Brandan спасибо за помощь. Мои активы действительно находятся в RAILS_ROOT/public/assets
. Я положил это в моем ВХосте файл Apache:
DocumentRoot /var/rails/myappname/current/public
RewriteEngine On
XSendFile On
XSendFilePath /var/rails/myappname #not even sure if this line is needed
<LocationMatch "^/assets/.*$">
Header unset ETag
FileETag None
ExpiresActive On
ExpiresDefault "access plus 1 year"
</LocationMatch>
Моей RAILS_ROOT/Config/Область/production.rb настройки:
config.cache_classes = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
Как вы создаете свои ссылки? – apneadiving
В моем макете я говорю '<% = stylesheet_link_tag" приложение ",: media =>" all "%>' и '<% = javascript_include_tag" приложение "%>' – DelPiero
Вы прекомпилировали свои активы? – ka8725