2013-07-30 11 views
10

Zaczynam w szynach i mam aplikację działającą w dev (webrick).Nie znaleziono wstępnie skompilowanego pliku CSS z potokiem 4 potoku

Problem polega na tym, że wstępnie skompilowany plik CSS nie został znaleziony podczas produkcji.

Teraz hostuję go na heroku i wdrażam. Mam komunikat, że zasoby są prekompilowane (więc nie jest to błąd kompilacji) i wszystko jest domyślnie ustawione.

Mam folder/public/assets i wszystko tam jest. Mogę nawet cat aplikacji - *. Css i otrzymuję pełną treść, którą powinienem mieć.

Teraz, gdy próbuję uzyskać dostęp do pliku CSS, pojawia się błąd 404 (nawet jeśli jest to automatycznie wygenerowany link css z użyciem <%= stylesheet_link_tag "application", :media => "all" %>). Tak więc nie jest problemem, że zrobiłem hardcode na łączu CSS.

Nie jestem do końca pewien, jaki byłby następny test do wykonania.

Jeśli jesteś ciekawy wyniku, jest on obecnie publicznie dostępny here.

Odpowiedz

14

Spróbuj zmienić opcję konfiguracji config.serve_static_assets = false na config.serve_static_assets = true w swoim config/environments/production.rb, jeśli jeszcze tego nie zrobiłeś.

+0

To chyba wystarczyło. Teraz muszę po prostu wymyślić obrazy. – Erick

+0

@Ericki, obrazy powinny być również pod opieką tej konfiguracji. Czy widzisz obrazy w katalogu 'public/assets /'? A nawiasem mówiąc, w jaki sposób odwołujesz się do tych obrazów, czy używa on pomocnika 'image_path'? – vee

+0

Muszę admet I odnoszą się do nich w sposób zakodowany przez /assets/something.jpg. Spróbuję użyć pomocnika image_path i zobaczę to. – Erick

1

Jedyną rzeczą, która stała się dla mnie w Rails 4 było

config.assets.compile = true 

w config/environments/production.rb

ten spadnie z powrotem do rurociągu aktywów jeśli prekompilowana atutem jest nieodebranych, zgodnie z dokumentacją.

+0

Dokumenty bardzo polecam, nigdy nie ustawiając tego na true w produkcji tylko po to, aby aplikacja działała>< – bkunzi01

+0

@ bkunzi01 teoretycznie, dokumentacja jest prawidłowa. W praktyce jednak zostanie skompilowany tylko raz, więc mogę wziąć to ryzyko =) – Abdo

+0

Fajnie, jak zmusić go do kompilacji tylko raz po wdrożeniu? Wydajność moich aplikacji zostaje zmiażdżona, gdy na to pozwolę :( – bkunzi01

Powiązane problemy