2017-05-18 14 views
5

रेल 5.1 में, अगर हम सार्वजनिक फ़ोल्डर में फ़ाइलों के लिए परिसंपत्ति_पथ का उपयोग करते हैं तो एक बहिष्करण चेतावनी है।रेल 5.1: सार्वजनिक फ़ोल्डर में फ़ाइलों के लिए यूआरएल सहायक

DEPRECATION WARNING: The asset "favicon.ico" is not present in the asset pipeline.Falling back to an asset that may be in the public folder. This behavior is deprecated and will be removed.

तो मैं public_asset_path की कोशिश की, लेकिन यह काम नहीं कर रहा है, वहाँ एक सहायक है?

+0

मैं एक ही त्रुटि जब मैं एक बाहरी संसाधन को संदर्भित कर रहा हूँ मिल गया में में कहा, यानी: aws या कहीं और पर एक छवि –

+0

कोई समाधान जो आपने अभी तक पाया है? –

+0

नहीं, अभी भी –

उत्तर

0

तो मैं इस विधि सहायकों/application_helper.rb

module ApplicationHelper 
    def public_path(path) 
     "#{ Rails.env.development? ? 'http://localhost:3000/' : 'https://cdn.mysite.fr/' }#{ path }" 
    end 
end 

और फिर मैं उपयोग कर सकते हैं public_path('images/image.jpg') विचारों

0

आप सार्वजनिक निर्देशिका प्राप्त करने के लिए Rails.public_path का उपयोग कर सकते हैं और फिर वहां से फ़ाइल ढूंढ सकते हैं, तो आप #{RAILS_ROOT}/public का भी उपयोग कर सकते हैं, वे दोनों एक ही काम करेंगे।

स्रोत: Getting absolute path to the file inside the public folder in Rails

5

तो संपत्ति पाइपलाइन के बिना सहायक विधि का उपयोग करना चाहते हैं, skip_pipeline विकल्प निर्दिष्ट करने के लिए की जरूरत है।

इस तरह।

image_path("user/favicon.png", skip_pipeline: true)

या अगर पूरे आवेदन के लिए संपत्ति वापस आने में सक्षम करना चाहते हैं, config.assets.unknown_asset_fallback सही पर सेट किया जा सकता है। देखें: http://guides.rubyonrails.org/asset_pipeline.html#raise-an-error-when-an-asset-is-not-found

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