2010-10-17 27 views
6

मुझे यह "आउटपुट में वापस प्रतिस्थापन के साथ निष्पादित" पाया गया, लेकिन शायद मेरी अंग्रेजी बहुत अच्छी नहीं थी, मैं वास्तव में समझ नहीं पा रहा हूं कि इसका क्या अर्थ है। क्या कोई मदद कर सकता है?<% %> (बराबर के बिना) मतलब है?

+0

रेल संदर्भ में बात की इस तरह लगभग हमेशा का अर्थ है 'प्रवाह नियंत्रण' - यह कोड है कि एक मूल्य वापस नहीं करता है, बल्कि अन्य कोड देख सकते हैं कि और आग कब –

उत्तर

10

<%%>

html पृष्ठ पर कोई प्रभाव नहीं के साथ रूबी कोड निष्पादित करेंगे गाया जा रहा है। आउटपुट फेंक दिया जाएगा।

<% =%>

रूबी कोड निष्पादित और <% =%>

उदाहरण के स्थान पर कि कोड के उत्पादन में डालने जाएगा ...

<% puts "almost" %> nothing to see here 

प्रस्तुत करना होगा

nothing to see here 

हालांकि

<%= puts "almost" %> nothing to see here 

प्रस्तुत करना होगा, क्योंकि

almost nothing to see here 
7

कभी-कभी आपको कुछ रूबी स्टेटमेंट निष्पादित करना होगा (लेकिन आप आउटपुट उद्देश्य के लिए नहीं)।

निम्नलिखित की तरह:

<% if @user.nil? %> 
    Hi, welcome! 
<% else %> 
    Hi, <%= @user.name %>! 
<% end %> 
बेशक

यह सिर्फ एक का उपयोग मामला है, लेकिन कभी कभी आप <% %> की आवश्यकता है: डी

1

संहिता में <% %> (बराबर) के बिना निष्पादित किया जाता है "कोई प्रतिस्थापन के साथ वापस आउटपुट में "का मतलब है कि आप बिना किसी आउटपुट के कोड को निष्पादित करना चाहते हैं, जैसे कि लूप और सबसे अच्छा हिस्सा है, इसका उपयोग गैर रूबी कोड के साथ किया जा सकता है।

<% 3.times do %> 

<h1>Hello world</h1> 

<%end%> 

This will give: 

<h1>Hello world</h1> 
<h1>Hello world</h1> 
<h1>Hello world</h1> 
+0

ओह, धन्यवाद। तो साथ = वहाँ एक आउटपुट होना चाहिए! – wizztjh

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