Właśnie uaktualniłem moją aplikację na Heroku z Rails 3.0 do 3.1 i próbuję sprawić, by potok zasobów działał. Głównym problemem jest to, że mogę czytać z Heroku zalogować następujące rodzaje linii, dla każdego składnika:Assets pipeline podczas aktualizacji do Rails 3.1 na Heroku
2011-09-03T16:35:28+00:00 app[web.1]: cache: [GET /assets/border-a3c571a354b9381740db48aeebfaa63a.jpg] miss
Jeśli rozumiem rurociągu prawidłowo, to nie powinno być „miss” na każde żądanie robię od A przeglądarkę, ale należy ją znaleźć w pamięci podręcznej.
Czytanie docs Heroku można znaleźć następujące wyjaśnienie:
Rails 3.1 provides an assets:precompile rake task to allow the compilation penalty to be paid up front rather than each time the asset is requested. If this task exists in your app we will execute it when you push new code.
Ale jak należy, że "aktywa: prekompilacji" zadaniem będzie? Próbowałem zbudować projekt z szynami 3.1 od zera, aby spróbować dowiedzieć się, ale nie ma takiego zadania w gołym projekcie. Czy może czegoś brakuje? Jak mogę sprawić, aby zasoby zostały znalezione w pamięci podręcznej? Może to tylko problem z konfiguracją.
Są to opcje moim pliku konfiguracyjnym produkcji:
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = true # If I turn this off I get a 500 error and logs say that an asset isn't compiled
Moje environment.rb ma ten wiersz:
config.assets.enabled = true
dziękuję za pomoc!
Kompiluję zasoby bezpośrednio na heroku, nie zanieczyszczając mojego lokalnego repozytorium za pomocą uzupełnionych zasobów. Użyj polecenia: heroku uruchom atrybuty prowizji: prekompilacja –