2011-04-06 11 views
7

के अंदर एक चर की सामग्री सहित article.content कैसे फ़िल्टर किया गया: कपड़ा?एक हैमल फ़िल्टर

- @articles.each do |article| 
    %article.post 
     %header=article.name 
     %p 
     :textile 
      =article.content 
     %footer 

उत्पादन

<article class="post"> 
    <header>game</header> 
    <p> 
     </p><p>=article.content</p> 
    <p></p> 
    <footer></footer> 
    </article> 

उत्तर

7

एक हैमल फ़िल्टर के अंदर आप अपने मार्कअप में रूबी कोड को शामिल करने के लिए स्ट्रिंग इंटरपोलेशन का उपयोग करते हैं।

require 'haml'        
@x = 42            
Haml::Engine.new("%p= @x").render(self)    #=> "<p>42</p>\n" 
Haml::Engine.new(":textile\n\t= @x").render(self) #=> "<p>= @x</p>\n" 
Haml::Engine.new(":textile\n\t\#{@x}").render(self) #=> "<p>42</p>\n" 

@content = "alpha\n\n#hi **mom**" 
Haml::Engine.new(":textile\n\t\#{@content}").render(self) 
#=> "<p>alpha</p>\n<p>#hi <b>mom</b></p>\n" 

संपादित: उदाहरण के लिए मेरे पिछले जवाब मेरे त्रुटिपूर्ण परीक्षण के कारण सामग्री में नई-पंक्तियों, के संबंध में भ्रामक था। जैसा कि ऊपर देखा गया है, शामिल सामग्री में न्यूलाइन सीधे ठीक से संभाला जाता है।

इस तरह, आपका Haml टेम्पलेट बस इस तरह दिखना चाहिए:

- @articles.each do |article| 
    %article.post 
    %header=article.name 
    :textile 
     #{article.content} 
    %footer 

ध्यान दें कि मैं अपने मार्कअप आसपास अपने %p टैग निकाल दिया है, के रूप में वस्त्र अपनी ही पैरा रैपर (यहां तक ​​कि एकल लाइन सामग्री के लिए परिचय)।

+0

@wizztjh मेरा जवाब गलत था; कृपया ऊपर दिखाए गए अद्यतन उदाहरण को देखें कि इसे 'बस काम करें' जैसा आप चाहें। – Phrogz

1

आपका वाक्य रचना करता है, तो सब कुछ ठीक से हो सकता है प्रदान की गई हो रही है यह एक मणि मुद्दा है, ठीक लग रहा है। क्या आपके पास RedCloth स्थापित है?

संपादित करें: दूसरे विचार पर, दूसरी पंक्ति क्या करती है? यह आपकी समस्या का कारण हो सकता है क्योंकि मुझे नहीं लगता कि% article.post उचित HAML वाक्यविन्यास है और: कपड़ा फ़िल्टर इसके अंदर है

+0

मैंने रेडक्लोथ स्थापित किया है, मुझे त्रुटि दिखाएं – wizztjh

+0

मुझे लगता है कि '% article.post' उत्पन्न होता है '

+0

हाँ मैंने देखा कि, मेरा बुरा। – Quasar

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