मैं अपने ऐप को प्रोडक्शन और इमेज में डालने की कोशिश कर रहा हूं और सीएसएस एसेट पाथ काम नहीं कर रहा है।
यहाँ मैं वर्तमान में क्या कर रहा हूँ:
- छवि परिसंपत्तियाँ /app/assets/images/image.jpg में रहती हैं
- Stylesheets /app/assets/stylesheets/style.css में रहते हैं
- अपने लेआउट में, मैं सीएसएस फ़ाइल को इस तरह संदर्भित करता हूं:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- गेंडा को पुनः आरंभ करने से पहले, मैं दौड़ता हूं
RAILS_ENV=production bundle exec rake assets:precompile
और यह सफल होता है और मैंpublic/assets
निर्देशिका में फ़िंगरप्रिंटेड फ़ाइलों को देखता हूं ।
जब मैं अपनी साइट पर ब्राउज़ करता हूं, तो मुझे 404 की त्रुटि नहीं मिलती है mysite.com/stylesheets/styles.css
।
मैं क्या गलत कर रहा हूं?
अद्यतन: मेरे लेआउट में, यह इस तरह दिखता है:
<%= 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 %>
उत्पन्न स्रोत यह है:
<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>
लगता है कि रेल ठीक से संकलित सीएसएस फ़ाइलों की तलाश में नहीं है। लेकिन यह बहुत भ्रमित है कि यह जावास्क्रिप्ट ( /assets/****.js
पथ को नोटिस करें ) के लिए सही तरीके से क्यों काम कर रहा है ।
<%= stylesheet_link_tag "style", media: "all", "data-turbolinks-track" => true %>
public/assets
और 2 दोहरी जांच वहाँ एक अन्य अनुदेश कि सीएसएस फ़ाइल (संभवतः हार्ड-कोडेड) लोड करने का प्रयास कहीं नहीं है अगर
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }
वास्तव में स्प्रोकेट के साथ प्रतिस्थापित किया जा सकता है .home {background: #FFF url(image-path('hippopotamus.jpg')) no-repeat; }
। शायद आप कोशिश कर सकते हैं अगर यह मदद करता है।
stylesheet_link_tag
।