2012-06-19 4 views
6

रेल में काम/छवियों के लिए कोई मार्ग मिलान नहीं है, छवियां दिखाई नहीं दे रही हैं और त्रुटि दे रही हैं।रेल

Started GET "/assets/home.png" for 127.0.0.1 at 2012-06-19 12:23:24 +0530 
Served asset /home.png - 404 Not Found (24ms) 
ActionController::RoutingError (No route matches [GET] "/assets/home.png"): 

मैं आदेश

rake assets:precompile 

production.rb

config.assets.compress = true 
config.assets.compile = false 

application.rb का इस्तेमाल किया है

config.assets.enabled = true 
config.assets.version = '1.0' 

किसी भी मदद के लिए धन्यवाद!

उत्तर

6

वास्तव में आप /assets/home.png पथ के साथ अपनी छवि का संदर्भ नहीं दे सकते। यह विकास मोड में काम करेंगे, लेकिन उत्पादन में अपने सभी एसेट उनके फ़ाइल नाम में एक अंगुली की छाप है (पढ़ इस http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark)

है यही कारण है कि, में संपत्ति-पाइपलाइन सक्षम ऐप्लिकेशन को आप सहायक तरीकों का उपयोग कर अपने सभी एसेट को संदर्भित करने की जरूरत है । रुबी, जेएस और एसएएस फाइलों में उपलब्ध विभिन्न सहायकों के बारे में जानने के लिए इस दस्तावेज़ को पढ़ें: http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

3

फ़ाइल अनुरोध में एक फिंगरप्रिंट की कमी से पता चलता है कि आप इसे विकास में चला रहे हैं। मैं यह भी अनुमान लगाने जा रहा हूं कि यह एक ऐप है जो रेल के पुराने संस्करण से अपग्रेड किया गया है।

किसी भी छवियों को पाइपलाइन के काम के लिए फ़ोल्डर/संपत्ति/छवियों में होना आवश्यक है।

इसके अलावा, विकास मोड में आपको प्रीकंपाइल करने की आवश्यकता नहीं है।

सार्वजनिक/संपत्ति फ़ोल्डर हटाएं, फ़ोल्डर tmp/cache/संपत्तियों को हटाएं, और अपने सर्वर को पुनरारंभ करें।

यदि यह छवियां सही स्थान पर हैं, तो इसे काम करना चाहिए।

+1

मैंने 'रेक संपत्तियां: प्रीकंपाइल' और 'सार्वजनिक/संपत्ति' हटा दी लेकिन यह काम नहीं कर रहा है। हालांकि 'tmp/cache/assets' को हटाना काम है। धन्यवाद। – Penguin