2011-12-19 13 views
39

Kompilowałem mój potok zasobów dla mojego środowiska produkcyjnego i działał on we wszystkich moich środowiskach. Jak mogę nieskompilować potoku zasobów dla mojego środowiska programistycznego?Niespompowywany komponent rozwoju infrastruktury

Sprawdziłem moje środowisko konfiguracyjne/programistyczne i nie mogę znaleźć poprawki.

Dzięki z góry za wszelką pomoc ...

Odpowiedz

80

Aby usunąć aktywa Prekompilowane użyć:

rake assets:clean 

Co to w zasadzie robi to usunąć katalog public/assets. Być może trzeba będzie uwzględnić zmienną RAILS_ENV, jeśli trzeba ją uruchomić dla określonego środowiska.

+10

To nie działa dla mnie. Musiałem wydać 'RAILS_ENV = pakiet deweloperski exec grabka: clean'. – Tass

+1

również wyczyść pamięć podręczną przeglądarki. nawet po zrestartowaniu serwera, obsługiwane strony mogą nadal zawierać buforowaną kopię skompilowanego pliku application.js – Michael

+3

Żaden z nich nie działał, musiał usunąć cały folder 'public/assets'. –

5

Po uruchomieniu zadania kompilacji lokalnie (na jednym komputerze) aktywa są kompilowane w środowisku produkcyjnym Rails, ale są zapisywane w folderze publicznym.

Oznacza to, że nawet w trybie deweloperskim będzie używać skompilowanych zasobów zamiast wysyłać żądania do potoku. Jest to normalne zachowanie - żądania są kierowane do potoku, jeśli plik nie istnieje w public/assets.

Zadanie kompilacji powinno być zasadniczo używane tylko podczas wdrażania i na zdalnym (produkcyjnym) komputerze.

Jeśli kompilowałeś lokalnie, możesz usunąć wszystkie pliki w folderze public/assets, a program będzie zachowywał się jak poprzednio. Jeśli zaznaczyłeś te pliki do kontroli źródła, musisz je usunąć.

Po usunięciu rzeczy powinny działać poprawnie. s Ostatnia ostatnia porada: jeśli jest to uaktualniona aplikacja, sprawdź ustawienia konfiguracji względem tych w last section przewodnika po zasobach infrastruktury Rails.

+1

Przynajmniej ta odpowiedź nie tylko dostarczenie kodu odpowiedź jedna linia, ale próby wytłumaczyć. – jasonleonhard

32

Spróbuj użyć

rake assets:clobber 

pracował dla mnie w szynach 4

+0

Chcesz wyjaśnić, dlaczego to działa? Do tego czasu nie mogę głosować na twoją odpowiedź i szczerze niewielu ludzi to zrobi, odpowiedzi na to pytanie powinny pomóc ludziom zrozumieć problem, a nie tylko podać linię kodu. – jasonleonhard

+0

Usuwa skompilowane zasoby. Możesz również ręcznie je usunąć, to tylko skrót. – mattecalcio

0

dla szyn 5:

$ RAILS_ENV=development bin/rake assets:clobber