2009-11-16 15 views
17

घोंसला है तो मैं क्या चाहता हूं "if" और "अन्य" में क्या है, जिसमें मुख्य मेन्यू शामिल है।सशर्त हैमल - अगर अन्य

- if @transparency 
    #content-inner{:style => "background: url(../../../images/illustrations/" + @transparency + ") no-repeat 88% 50%"} 
- else 
    #content-inner 
    #main-block 

वर्तमान में क्या होता है अगर @transparency परिभाषित किया गया है, है, #main-block#content-inner अंदर नेस्टेड नहीं है।

+0

एक ही पोस्ट जैसा दिखता है - http://stackoverflow.com/questions/1451794/haml-if-else-error - हालांकि उन्हें डुप्लिकेट –

उत्तर

22

आप एक त्रिगुट ऑपरेटर का उपयोग कर सकते सशर्त शैली विशेषता लागू करें: एकाधिक हैश विशेषताओं से छेड़छाड़ उदाहरण के लिए

#content-inner{ :style => @transparency ? "background: url(../../../images/illustrations/" + @transparency + ") no-repeat 88% 50%" : '' } 
    #main-block 

एक और अधिक जटिल व्यवस्था के लिए,, यह या तो एक सहायक विधि का उपयोग करने के लिए सबसे अच्छा है, या स्थानांतरित करने के लिए आंशिक के लिए आम सामग्री।

+0

जैकपॉट के अलावा कोई जवाब नहीं मिला। धन्यवाद टैडमैन, जो कुछ और दरवाजे खुलता है। –

+1

बस अपना जवाब देखा और यह जोड़ना चाहता था कि अगर आपको उस सशर्त के अंदर रूबी का मूल्यांकन करना पड़ा, तो आप ऐसा कर सकते थे जैसा मैंने किया है: '.request {: class => (request.user_id == current_user.id)? "हाइलाइट": शून्य} '। मुझे इस (लंबी कहानी) को कैसे प्रस्तुत करना है, इस मामले में, मैं एक आवृत्ति चर नहीं बना सका, इस प्रकार मैं रूबी को ब्रांड्स में मूल्यांकन करने के लिए मूल्यांकन करता हूं यह देखने के लिए कि क्या यह अनुरोध 'current_user'' से संबंधित है और यदि ऐसा होता है, तो मैं div में 'हाइलाइट' वर्ग जोड़ें। बस सोचा कि अगर मैं किसी और को पहले से ही नहीं समझ पाया तो मैं इस बोली को साझा करूंगा। –

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