2012-03-30 6 views
11

मैं शेफ, रूबी, रूबी डीएसएल और एआरबी के लिए नया हूं। मैं अजगर से आया हूँ। एक रूबी एआरबी टेम्पलेट में मैं ऐसा कुछ करना चाहता हूं।शेफ और एआरबी टेम्पलेट्स। बूलियन कोड ब्लॉक का उपयोग कैसे करें

<% if node[:monit][:server]=='nginx' -%> 

ALL OF MY NGINX TEXT 

<% end -%> 

<% if node[:monit][:server]=='redis' -%> 

ALL OF MY REDIS TEXT 

<% end -%> 

स्पष्ट रूप से मुझे उचित वाक्यविन्यास के बारे में कुछ याद आ रहा है।

धन्यवाद

+1

क्यों है, तो रूबी कोड को एआरबी टैग में लपेटा जाना चाहिए? क्या यह आपको एक त्रुटि देता है? कृपया इसे शामिल करें। –

उत्तर

25

इस प्रयास करें:

<% if node[:monit][:server]=='nginx' -%> 

    nginx_text=<%= node[:nginx][:text] %> 

<% end -%> 

<% if node[:monit][:server]=='redis' -%> 

    redis_text=<%= node[:redis][:text] %> 

<% end -%> 

कोड <% %> या <% -%> में लिपटे एक बयान है कि मूल्यांकन किया जाता है है। <%= %> में लिपटा कोड कोड है जिसका मूल्यांकन किया गया है और परिणाम फ़ाइल में रखा गया है। अगर वे स्थिर होते हैं तो हार्कोड स्ट्रिंग को एआरबी टैग में लपेटना नहीं पड़ता है, लेकिन यदि आप चाहते हैं कि उस कोड का परिणाम आपकी फाइल में

+2

उन लोगों के लिए, जो अतिरिक्त हाइफ़न में रूचि रखते हैं: http://stackoverflow.com/a/7996827/750510 – madhead

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