2011-10-24 12 views
5

Wdrażam projekt na serwerze po wdrożeniu CSS i obrazów - działa, ale JS nie działa - 404. Skrót JavaScript w HTML i public/aktywa - niedopasowanie.Niepoprawny odcisk palca w potoku Rails 3.1 dla plików JS w produkcji

In HTML: application-6851a5d9167871936c32da723dca0f23.js 
In public/assets: application-95ecf5bab4b7984abe8c1c23b72a7679.js 
+2

mógłbyś dodać jakieś informacje do Twojego pytania (bezpośrednio edytując go): Co to oznacza HTML? Masz na myśli adres URL wygenerowany przez Rails w twoim kodzie źródłowym? Podejrzewam, że działa w fazie rozwoju. Co zrobiłeś, aby zdobyć aktywa? 'atuty rake: precompile'? Czy zmieniłeś coś w konfiguracji? Czy to nowa aplikacja railsowa czy migrowana? – mliebelt

+0

tak, mam na myśli URL generowany przez Rails w moim kodzie źródłowym. Tak, działa w fazie rozwoju, ale nie działał w produkcji. Dostaję aktywa za pomocą aktywów rake: precompile. Czy to nowa aplikacja szyny –

+0

Sprawdziłem z moimi aplikacjami, tam hash jest taki sam w kodzie HTML i ścieżce pliku. Czy sprawdziłeś "manifest.yml", który zawiera odciski palców na plik? Z jakiego serwera korzystasz w produkcji? – mliebelt

Odpowiedz

0

Czy prowadziłeś "aktywa rake: czyste aktywa: prekompilacja"?

Ponadto, jeśli używasz GIT, musisz też "odrzucić rm" starsze wersje tych zasobów. Będziesz musiał zrobić coś podobnego w przypadku innych systemów kontroli wersji, jeśli środowisko produkcyjne jest aktualizowane przez naciśnięcie obszaru roboczego (np. Heroku).

W środowisku programistycznym zasoby są pobierane bezpośrednio z bazy źródłowej - więc jeśli je zmienisz, nie musisz ponownie prekompilować (oszczędzając czas podczas tworzenia). Ale z tego powodu można łatwo natknąć się na aktywa.

0

Ponowne uruchomienie aplikacji naprawiło to za mnie.

E.g. W aplikacji w katalogu:

touch tmp/restart.txt 

lub w Capistrano 3 na deploy.rb:

namespace :deploy do 
    desc 'Restart application' 
    task :restart do 
    on roles(:app) do 
     within release_path do 
     execute :touch, 'tmp/restart.txt' 
     end 
    end 
    end 

    after 'deploy:publishing', 'deploy:restart' 
end 
Powiązane problemy