Я использую Passenger и Rails ':cache => true
для кэширования всех моих css в один большой файл. Развертывание осуществляется через Capistrano .
Теперь иногда (!) Сгенерированный mem all.css
файл не может быть найден после перезапуска приложения (и в журнале появляется ошибка)
ActionController::RoutingError (No route matches "/stylesheets/all.css" with {:method=>:get}):
passenger (2.2.2) lib/phusion_passenger/rack/request_handler.rb:81:in `process_request'
passenger (2.2.2) lib/phusion_passenger/abstract_request_handler.rb:203:in `main_loop'
Размещение другого файла restart.txt
вручную или cap deploy:restart
решит проблему.
Это не большая вещь, но всегда утомительно проверять и исправлять. У кого-нибудь есть идея, что я делаю неправильно?
Редактировать
Мой deploy:restart
выглядит так (именно то, что я делаю вручную).
desc "Restarting mod_rails with restart.txt"
task :restart, :roles => :app, :except => { :no_release => true } do
run "touch #{current_path}/tmp/restart.txt"
end
Кроме того, я не использую никаких специальных (внешних) CSS-файлов в своем кэшировании.
<%= stylesheet_link_tag "clear", "application", "contracts", :cache => true %>