2012-01-29 20 views
13

Jak widać na poniższych obrazkach, css na mojej lokalnej stronie hosta jest znacznie lepiej rozmieszczony na górze niż na heroku.CSS wygląda inaczej na heroku

Czy ktoś wcześniej miał tego typu problem? Widać to najlepiej na tej stronie http://pltcpal.herokuapp.com/forums/

używam Twitter bootstrap, który zaleca dodanie

`padding-top: 40px;` 

do organizmu w przypadku korzystania z górnego paska nawigacyjnego. Jakoś nie działa ...

heroku

local host

+0

Możliwy duplikat? http://stackoverflow.com/questions/tagged/css+heroku?sort=votes&pagesize=50 –

+0

@IOXenus To zupełnie inne pytanie – Leahcim

+1

może ze względu na to, że nie używasz Resetowania CSS. Jeśli dodasz 50px padding instaed 40px, to dobrze. – Jawad

Odpowiedz

18

Problem związany jest z obsługą potoku aktywów na Heroku. Jest kilka sposobów na to, jak można to zrobić, zobacz http://devcenter.heroku.com/articles/rails31_heroku_cedar

Naprawiłem problem w mojej aplikacji, wstępnie kompilując zasoby lokalnie na moim komputerze, a następnie przesyłając je do Heroku.

Pre-kompilacji aktywa:

RAILS_ENV=production bundle exec rake assets:precompile 

Dodaj/zatwierdzić zmiany do repozytorium git:

git add public/assets 
git commit -m "vendor compiled assets" 

Dla pewności przetestowałem całość na lokalnym oddziale na moim komputerze pierwszym który Popchnąłem do Heroku, używając następującego polecenia (Heroku zwykle ignoruje wszystkie gałęzie z wyjątkiem gałęzi głównej, a więc lewę):

git push -f heroku heroku-assetpipeline:master 
+0

Sprawili, że mój dzień. Dzięki. –

1

Mam bardzo sam problem. Podczas porównywania kodu programistycznego i programistycznego, na maszynie programistycznej arkusze stylów i pliki javascript od bootstrap zostają załadowane, a na stronie produkcyjnej (Heroku) jest tylko jedna aplikacja - XYZ.css i jedna aplikacja - XYZ .js.

Nie jestem pewien, czy może to być problem z potokiem aktywów.

Czy ktoś może opracować, co należy zrobić, aby (wstępnie) skompilować potok aktywów, tak aby wdrożenie na Heroku się udało.

10

FWIW, miałem ten sam problem i sprawdziłem wszystko, co mogłem wymyślić, jak również te powyżej. Okazało się, że musiałem pomniejszyć moją przeglądarkę podczas korzystania z localhosta i miałem standardowy zoom na moim url produkcyjnym.

To było tak proste, jak resetowanie powiększenia w przeglądarce na obu stronach. Mam nadzieję, że to pomoże komuś innemu z tym samym problemem.

+0

Hahahahaha. Podobnie! :) –

0

Czy możliwe jest, że wstępnie skompilowałeś swoje aktywa lokalnie? Aby zmusić Heroku do kompilacji zasobów podczas kompilacji, można zmienić nazwę pliku public/assets/manifest.yml na public/assets/manifest.yml.bak, zatwierdzić swoje źródło i przejść do heroku.

Heroku zakłada, że ​​skompilowałeś swoje zasoby lokalnie, gdy zobaczysz plik manifest.yml.

0

Miałem ten sam problem i postępowałem zgodnie z instrukcjami kilku różnych stron, w tym własnej dokumentacji Heroku.Zamieszczam tutaj, aby pomóc następnemu facetowi, ponieważ być może ze względu na zmiany w Rails 4, Heroku lub Github, ale powyższe wskazówki w ogóle mi nie pomogły. Jednak dostałem go do pracy i oto jak.

Tak, prawdopodobnie powinieneś wstępnie skompilować swoje aktywa za pomocą RAILS_ENV=production bundle exec rake assets:precompile, ale potem przejdź do folderu "public/assets" i skopiuj "wszystkie" .css, css.gz, .json, .yml. , pliki ".js", które zaczynają się od "aplikacji" lub "manifestu". Przenieś je do folderu poza katalogami aplikacji. Zrób to po prostu zamknij wszystko, co pójdzie nie tak. Sprawdź, czy wszystkie te pliki zostały usunięte z folderu "public/assets /" aplikacji. Następnie ponownie uruchom swój lokalny serwer szyny i sprawdź, czy twoja aplikacja zachowuje się tak, jak tego chcesz. Następnie przejdź do swojego konta Github i przejdź do katalogu "public/assets /" twojego repozytorium i usuń wszystkie te same pliki, które właśnie zrobiłeś lokalnie. Następnie dodaj/zatwierdzaj lokalnie, następnie naciśnij, aby odegnać, potem do heroku, a walla - gotowe, powinno działać.

Uzasadnieniem tego, co zakładam, jest to, że kiedy naciskasz na Heroku, sprawdza on skompilowane zasoby w twoim repozytorium i z tego powodu, mimo że miałem prekompilowany lokalnie, wciąż pobierał niektóre konfiguracje zasobów z poprzednich zatwierdzeń. . Usuwając te pliki, Heroku musi je skompilować podczas wypychania. Jedną z rzeczy których nie próbowałem, która może działać, jest po prostu przejście do innej gałęzi i usunięcie tych plików i wdrożenie tej gałęzi do Heroku, więc możesz spróbować najpierw, ale to właśnie dla mnie zadziałało.

Jedna inna uwaga, zmieniając nazwy plików na .bak lub .old Heroku nadal uważała je za swoich stałych bywalców i wyświetlało je tak, jak były oryginalne, które nie wyświetlały się poprawnie.

Powiązane problemy