2009-11-15 10 views
23

कभी-कभी < %%> में प्रिंट करना अधिक सुविधाजनक होता है। रेल में इसे कैसे करें?बिना ईआरबी में <% = प्रिंट करें?

+3

क्यों इसे और अधिक सुविधाजनक है:

<% concat "Output" %> 

के बराबर है? –

+0

@ जॉन टोपली एक लूप जो केवल कई अन्य आंशिक कॉल करता है। – lulalala

उत्तर

39

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-concat

होना चाहिए कि आप क्या देख रहे हैं।

उदा। निम्नलिखित बयान concat का उपयोग कर:

<%= "Output" %> 
+1

धन्यवाद, प्रश्न के उत्तर देने के लिए 'concat' सहायक –

+0

+1 :) –

+1

यह PHP में' echo' कार्यों जैसे 'puts' के साथ क्यों काम नहीं करता है? – Chloe

4

erb में इनलाइन रूबी अभिव्यक्तियों का मूल्यांकन करने के लिए दो विधि हैं। <% जो अभिव्यक्ति का मूल्यांकन करता है और <%= जो मूल्यांकन करता है और प्रिंट करता है। बाध्यकारी संदर्भ में प्रिंट करने के लिए कोई वैश्विक वस्तु नहीं है।

उमर द्वारा उल्लिखित अनुसार, concat विधि है, जो एक्शन व्यू का हिस्सा है। यह वही करेगा जो आप चाहते हैं।

एक स्क्रिप्टिंग भाषा से बचने के विपरीत, erb के लिए कोई डिफ़ॉल्ट आउटपुट नहीं है। चूंकि एआरबी बस एक समारोह है, और एक टेम्पलेट दिया गया है और बाध्यकारी एक चर वापस कर देगा, यह पाठ और कार्यों के मूल्यों को दोबारा लौटाता है।

गर्म बहस है कि दृश्य में कितनी तर्क की अनुमति दी जानी चाहिए, लेकिन जितना संभव हो सके अधिकांश लोगों का लक्ष्य है। यदि आप दृश्य में टेक्स्ट से अधिक कोड डाल रहे हैं, तो आप अपने कोड को पुनः सक्रिय करने पर विचार करना चाहेंगे।

7

ईआरबी में: <%%> यह इंगित करें कि यहां रूबी कोड का अर्थ है। <% =%> रूबी कोड आउटपुट कहता है, यानी परिणाम प्रदर्शित/प्रिंट करें।

तो ऐसा लगता है कि यदि आप मानक ईआरबी फ़ाइल में आउटपुट करना चाहते हैं तो आपको अतिरिक्त = चिह्न का उपयोग करने की आवश्यकता है।

अन्यथा, आप ईआरबी के विकल्पों को देख सकते हैं जिनके लिए कम वाक्यविन्यास की आवश्यकता होती है, .. शायद एचएएमएल की तरह कुछ कोशिश करें। http://haml-lang.com/tutorial.html

Example: 

# ERB 
<strong><%= item.title %></strong> 

# HAML 
%strong= item.title 

क्या यह अधिक सुविधाजनक है?

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