2012-03-30 6 views
12

में कथन के परिणाम सहित मैं एक हैमल टेम्पलेट से गतिशील सामग्री के साथ एक ईमेल उत्पन्न कर रहा हूं जो एक सरणी से जानकारी को पार करता है।'array.each do | block |' जेनरेटेड हैम एचटीएमएल

असल में, हैमल को कई हैंश से भरा एक सरणी प्राप्त होती है।

%table 
    =arrayname.each do |object| 
    %tr 
     %td= object.name 
     %td= object.link 

जब भी ईमेल संपूर्ण वस्तु arrayname भेज दिया जाता है HTML के नीचे में शामिल है: कोड में मैं एक ब्लॉक जो इस तरह दिखता है। यह ब्लॉक के शीर्ष पर दिखाने के लिए [#,#] (अधिक # जब अधिक ऑब्जेक्ट्स हैं) का कारण बनता है। सीएसएस के साथ पाठ के इस टुकड़े में हेरफेर करने का कोई तरीका नहीं है, अन्यथा मैं इसे छिपा सकता।

[#<Release @id=181 @title="test" @amurl="test.com" @iturl="test.com" @cover="test.com" @date="2012-03-28" @artist_name="Test">, #<Release @id=182 @title="test" @amurl="test.com" @iturl="test.com" @cover="" @date="2012-03-31" @artist_name="Test">] 

यह रेखा आईआरबी में कोड निष्पादित करते समय दिखाए गए परिणामों के समान है।

क्या कोई मुझे बता सकता है कि इसे कैसे होने से रोकें?

उत्तर

20

हैमल के साथ, आपको arrayname.each के लिए उपयोग करने की आवश्यकता नहीं है क्योंकि यह रूबी कोड है जिसे आप चलाना चाहते हैं, लेकिन प्रदर्शित नहीं होते हैं। पर कोड चलाने के लिए, एक हाइफ़न का उपयोग करें।

इसके बजाय, इस काम करना चाहिए:

%table 
    - arrayname.each do |object| 
    %tr 
     %td= object.name 
     %td= object.link 
+1

पोर्क मुझे बग़ल में। मुझे या तो हाम संदर्भ को बेहतर पढ़ना चाहिए था या पहले यहां पोस्ट किया जाना चाहिए था। मूर्खतापूर्ण चीजें मैंने कोशिश की है ... बहुत बहुत धन्यवाद! – gagootch

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