2009-02-02 10 views
14

मुझे पता है कि मैं रेल में ऐसा कर सकते हैं:रेल में प्रतिक्रिया के लिए लेखन? (जैसा "गूंज" PHP में)

<%="hello" %> 

लेकिन वहाँ है किसी भी तरह से इस

<% 
echo "hello" 
%> 

करने के लिए और उस में दिखाने के लिए प्रतिक्रिया?

+0

हाँ। ऑब्जेक्ट मौजूद है लेकिन विधि नहीं है :) #

+0

CgiResponse के लिए अपरिभाषित विधि 'लिखें'? ActionController का उपयोग करें :: CgiResponse.out – phresus

+0

<%="hello" %> के साथ क्या गलत है? –

उत्तर

14

क्या आपने concat को आजमाया है।

रेलवे दस्तावेज में घूमते समय मैंने इसे देखा है। बिल्कुल यकीन नहीं है क्योंकि मैं रेल के लिए बहुत नया हूं।

+0

अच्छा शॉट! http://api.rubyonrails.com/classes/ActionView/Helpers/TextHelper.html –

0

आप "प्रिंट" या "डाल" की तलाश में हैं, इस पर निर्भर करते हुए कि आप एक नई लाइन (शायद नहीं) चाहते हैं या नहीं। लगभग हर ऑब्जेक्ट लागू करता है .to_s, जो भी काम करता है, हालांकि मेरी भावना यह है कि जो भी आप करने की कोशिश कर रहे हैं, उसे करने का शायद एक बेहतर तरीका है। इस पर कोई और संदर्भ?

+0

धन्यवाद, नहीं, मैं इसे क्लाइंट पर देखना चाहता हूं, कंसोल पर नहीं। –

+0

कोई कारण नहीं है कि यह कंसोल पर काम नहीं करेगा। <% = डालता है "कोई रूबी कोड यहां जाता है"%> – phresus

+1

-1, डिफ़ॉल्ट रूप से STDOUT को आउटपुट (या पी) आउटपुट देता है, जो प्रतिक्रिया उत्पन्न नहीं होती है। और <% = puts ...%> प्रतिक्रिया में एक खाली स्ट्रिंग का उत्पादन करेगा, रखता है (या पी) वापसी शून्य और nil.to_s == ""। – Samuel

13

क्या आप लिखने के लिए है,

<% concat "bank" %> 

अब आप दस बिल्ली

+1

सटीक रूप से। इस संदर्भ में <% = के बजाय कॉन्सट का उपयोग करना समझ में आता है। आपके उत्तर के लिए धन्यवाद। –

+0

मुझे लगता है कि स्पष्ट बाध्यकारी की आवश्यकता नहीं है ... –

+0

हाँ, मुझे नहीं पता था कि बाध्यकारी क्या था। –

6

के लिए की तरह

<% 
    10.times do 
    concat "cat" 
    end 
%> 

कुछ कर सकते हैं का प्रयोग करें concat है मैं इसे करने की कोशिश की है और यह काम करता है। हालांकि आप HTML वर्ण का उपयोग करने की आवश्यकता है का उपयोग करें:

concat(sanitize("STRING")) 

या अपने app/helpers/application_helper.rb खोलने के लिए और लिखें:

def echo(str) 
    concat sanitize str 
end 

, इसलिए आप बस लिख सकते हैं: echo "hello<br />\n"

+0

क्या होता है यदि आप –

+0

सरल प्रतिभा को स्वच्छ नहीं करते हैं :) – intepid

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