Uygulamamı üretime sokmaya çalışıyorum ve görüntü ve css varlık yolları çalışmıyor.
İşte şu anda yaptığım şey:
- Görüntü varlıkları /app/assets/images/image.jpg içinde bulunur
- Stil sayfaları /app/assets/stylesheets/style.css içinde bulunur
- Düzenimde css dosyasına şu şekilde referans veriyorum:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- Tek boynuzlu atı yeniden başlatmadan önce çalıştırıyorum
RAILS_ENV=production bundle exec rake assets:precompile
ve başarılı oluyor vepublic/assets
dizinde parmak izli dosyaları görüyorum .
Siteme göz attığımda, için 404 bulunamadı hatası alıyorum mysite.com/stylesheets/styles.css
.
Neyi yanlış yapıyorum?
Güncelleme: Düzenimde şöyle görünüyor:
<%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
Oluşturulan kaynak şudur:
<link data-turbolinks-track="true" href="/stylesheets/bootstrap.min.css" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/stylesheets/styles.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-0c647c942c6eff10ad92f1f2b0c64efe.js"></script>
Görünüşe göre Rails derlenmiş css dosyalarını düzgün bir şekilde aramıyor. Ancak javascripts için neden doğru çalıştığı çok kafa karıştırıcı ( /assets/****.js
yola dikkat edin ).
<%= stylesheet_link_tag "style", media: "all", "data-turbolinks-track" => true %>
public/assets
kontrol edin ve 2. o css dosyasını yüklemeye çalışan başka bir talimat olup olmadığını iki kez kontrol edin (muhtemelen sabit kodlanmış)
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }
aslında sprocket ile değiştirilebilir .home {background: #FFF url(image-path('hippopotamus.jpg')) no-repeat; }
. Belki bunun yardımı dokunursa deneyebilirsin.
stylesheet_link_tag
.