Uruchamiam aplikację w środowisku produkcyjnym (rails s -e production, passenger star -e production), następnie wchodzę na stronę główną.
Po załadowniu dostaję prawidłowo wygenerowany widok, ale nie zostają zaciągnięte pliki *.css (błąd 404). Tak samo dzieje się z grafiką umieszoną w public/images.
Odpalałem polecenie: rake assets:precompile, niestety dalej brak efektów.
W logach serwera dostaje takie info:
ActionController::RoutingError (No route matches [GET] “/assets/application-8209b2aaa7a9bd3a96a14803d50edfce.css”):
Prosił bym o pomoc w odpaleniu aplikacji w trybie producton.
Lokalnie działa. Natomiast przy odpaleniu strony na “odległym” serwerze dalej nie ma grafik i css’ow, nie ma też błędów w konsoli (ale firebug dalej wskazuje 404). Masz może jeszcze jakiś pomysł gdzie należy szukać przyczyny problemu?
Zauważyłem, że na serwerze produkcyjnym mam źle ustawione ścieżki tj. zamiast public/asset/costam.css, jest /asset/costam.css.
Czy wie ktoś jak można to skonfigurować w railsach nie ustawiając ordynarnie poprawnej ścieżki w layoucie?
Tak aby pozostało
Czyli prawdopodobnie masz klejny problem. Czy jak wpiszesz w urlu /config/database.yml to Ci się wyświetla jego treść w przeglądarce? Skonfiguruj poprawnie vhost nginxa/apache tak aby wskazywał nie na Rails.root a na Rails.root/public i cofnij to co zrobiłeś z config.assets.prefix.
Słuszna uwaga, wczoraj się zorientowałem, że pliki z katalogu assets znajdują się w public/public/assets. Trochę przekombinowałem z różnymi ustawieniami, a jedyne co trzeba było zrobić to ustawić w konfiguracji nginxa sciezkę roota na katalog public w projekcie.