2011-09-20 20 views
8

Uaktualniłem aplikację do Rails 3.1, a wszystko działa poprawnie i działa poprawnie, z tym że image_tag nie znajduje obrazu. Przeniosłem wszystkie moje obrazy z publicznych/zdjęć do aplikacji/zasobów/zdjęć. Przeglądarka żąda obrazu pod numerem http://localhost:3000/assets/foobar.png, ale po prostu pokazuje się jako zepsuty obraz w Chrome. Otwieranie go w oddzielnej zakładce mówi "Żadna trasa nie pasuje [GET]" /assets/foobar.png ".Nie znaleziono zasobów graficznych po aktualizacji do Rails 3.1

Czuję, że brakuje mi jakiegoś miejsca, ale nie byłem w stanie dowiedzieć się, co to żadne sugestie

+0

Próbowałem także nacisnąć http: // localhost: 3000/assets/images/foobar.png, ale to nie dostało obrazu. – bratsche

Odpowiedz

15

Jedną z największych rzeczy, których nie wspomniano w Assets Pipeline Guide jest usunięcie wiodącą/images/część ścieżki Tak na przykład w ten sposób:.?.

<%= image_tag "/images/about/header.png" %> 

Would należy zmienić na:

<%= image_tag "about/header.png" %> 

To samo dotyczy plików CSS. Więc tak:

background-image: url("/images/alliance/header_background.png"); 

Czy zmieni się na:

background-image: image-url("alliance/header_background.png"); 

Należy pamiętać, że podczas korzystania z rurociągu aktywów nigdy zawierać wiodącą ukośnik. Jeśli użyjesz powyższego wiersza kodu w pliku CSS, dodaj plik .scss do pliku (aby application.css stał się application.css.scss).

Mam nadzieję, że zaoszczędzi Ci to trochę bólu głowy!

Powiązane problemy