2011-09-20 12 views
8

मैंने एक ऐप को रेल 3.1 में अपग्रेड कर दिया है, और सबकुछ सेटअप और सही तरीके से काम कर रहा है सिवाय इसके कि एक image_tag छवि नहीं ढूंढ रहा है। मैंने अपनी सभी छवियों को सार्वजनिक/छवियों से ऐप/संपत्ति/छवियों में स्थानांतरित कर दिया है। ब्राउज़र http://localhost:3000/assets/foobar.png पर एक छवि का अनुरोध करता है लेकिन यह क्रोम में एक टूटी हुई छवि के रूप में दिखाई देता है। इसे एक अलग टैब में खोलने का कहना है, "कोई रूट मैचों [GET]" /assets/foobar.png "रेल संपत्तियों को अपग्रेड करने के बाद छवि संपत्ति नहीं मिली 3.1

मुझे लगता है कि मुझे बस कुछ सेटिंग याद आ रही है, लेकिन मैं यह पता लगाने में सक्षम नहीं हूं यह अभी तक है कोई सुझाव

+0

मैंने http: // localhost: 3000/assets/images/foobar.png पर भी मारने की कोशिश की, लेकिन उसे छवि नहीं मिली। – bratsche

उत्तर

15

सबसे बड़ी बातें वे में Assets Pipeline Guide प्रमुख/images/पथ के हिस्से को हटाने के लिए है का उल्लेख नहीं है में से एक तो उदाहरण इस बात के लिए:।?।

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

चाहेंगे इसे बदलना होगा:

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

सीएसएस फ़ाइलों के लिए ही चला जाता है। तो यह:

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

ध्यान दें कि जब संपत्ति पाइपलाइन कभी नहीं का उपयोग कर अग्रणी स्लैश शामिल हैं:

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

करने के लिए बदल सकते हैं। अगर आप अपनी सीएसएस फ़ाइल में कोड की उपरोक्त पंक्ति का उपयोग करते हैं, तो फ़ाइल में .scss जोड़ना सुनिश्चित करें (इसलिए application.css application.css.scss बन जाएगा)।

आशा है कि इससे आपको कुछ सिरदर्द बचाएगा!

संबंधित मुद्दे