2012-06-20 10 views
5

रेल 3.1 अब आपको image_tag का उपयोग करने की आवश्यकता है जब संपत्ति पाइपलाइन का उपयोग करके एक छवि प्रस्तुत करना।रेल के साथ जावास्क्रिप्ट में छवियों को कैसे प्रस्तुत करें 3.1

मैंने अपने आवेदन में अंतहीन स्क्रॉल बनाया है और कोड को js.coffee फ़ाइल में डाल दिया है। मैं एक कताई लोडिंग gif प्रस्तुत करना चाहता हूं जबकि अधिक उत्पादों को लोड किया जाता है। मैं यहां image_tag का उपयोग नहीं कर सकता क्योंकि यह फ़ाइल रेल कोड का समर्थन नहीं करती है, लेकिन मैंने इसे यहां लिखा है ताकि आप समझ सकें कि मैं क्या करने की कोशिश कर रहा हूं।

jQuery -> 
    if $('.pagination').length 
    $(window).scroll -> 
     url = $('.pagination .next_page').attr('href') 
     if url && $(window).scrollTop() > $(document).height() - $(window).height() - 1200 
     $('.pagination').html("<%= image_tag("loading.gif") %> Loading more...") 
     $.getScript(url) 
    $(window).scroll() 

इससे पहले, मैं सिर्फ यह शुद्ध HTML में लिखा होता, <img src=... का उपयोग कर लेकिन यह नहीं रह संपत्ति पाइप लाइन के साथ काम करेंगे। इसे कैसे प्राप्त किया जा सकता है?

उत्तर

5

सादे HTML का उपयोग करना ठीक काम करना चाहिए।

उपयोग करने का प्रयास करें: <img src="/assets/loading.gif" /> यदि आपका loading.gifassets/images के अंदर है।

UPDATED 21/06/2012

Ruby on Rails Guide, Section 2.2.3 के अनुसार, बदलते अपने .js की फाइल एक्सटेंशन filename.js.erb या filename.js.coffee.erb फ़ाइल आप अपने जावास्क्रिप्ट अंदर एम्बेडेड गहरे लाल रंग का उपयोग करने के लिए अनुमति देगा।

फिर आप asset_path सहायक का उपयोग उस मार्ग तक पहुंचने के लिए कर सकते हैं जहां आपकी संपत्तियां संग्रहीत की जाती हैं।

+1

क्या यह केवल उत्पादन में काम नहीं करेगा यदि मैं फिंगरप्रिंट भाग शामिल करता हूं? यह tob88

+0

हम्म, अच्छा बिंदु जैसे कुछ होना होगा। मैंने इसके बारे में सोचा नहीं था, क्योंकि मैं केवल अपने देव पर्यावरण पर कुछ करने के साथ ही था। मैं जल्द ही यहां एक नज़र डालेगा। – Zajn

+0

मेरा मतलब है कि मैं किसी भी डिस्प्ले में image_tag को किसी भी डिस्प्ले में प्रदर्शित नहीं कर सकता और उसके बाद $ ('। PaginationLoader') डाल सकता हूं। जेएस कोड में दिखाएं()। लेकिन यह सिर्फ अनावश्यक लगता है, और कुछ काम आसपास है, निश्चित रूप से एक बेहतर तरीका होना चाहिए। अगर आप कुछ भी करने में सक्षम थे, तो दिलचस्पी होगी, धन्यवाद! – tob88

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