2012-10-30 12 views
40

मैंने हाल ही में देखा, सोचा कि यह दिलचस्प था। लेकिन मैं वास्तव में समझ में नहीं आता कि यह क्या करता है?रेलगाड़ी erb में <%== %> क्या करता है?

पूर्व। मेरे पास रेल ऐप है और मैं कुछ जेसन बूटस्ट्रैप करना चाहता हूं, ताकि मुझे दूसरा अनुरोध नहीं करना पड़े। आम तौर पर मैं इस तरह कुछ लिखूंगा।

<%= raw @model.to_json %> या <%= @model.to_json.html_safe %>

मैं संदेश raw या html_safe भेजना है या json एचटीएमएल बच गए है और इस तरह ठीक प्रकार से पार्स नहीं होगा। हालांकि, यह भी काम करता प्रतीत होता है।

<%== @model.to_json %>

लेकिन मैं किसी भी प्रलेखन नहीं मिल रहा।

क्या किसी को पता है कि यह वास्तव में क्या करता है? यानी क्या यह html_safe या raw पर कॉल करने जैसा सटीक है? या इसका कोई आगे का हिस्सा है?

+0

रेल डुबकी में <% code %> और <%= code %> के बीच क्या अंतर है?] (Http://stackoverflow.com/questions/5361401/whats-the-difference-between-code-and-code-in-rails-erb) –

+6

यह उपरोक्त का डुप्लिकेट नहीं है, बिलकुल नहीं। मैंने कभी नहीं देखा <% == बीटीडब्ल्यू तो कुछ नया सीखना अच्छा लगा .. अच्छा सवाल है। –

उत्तर

48

<%==raw के बराबर है।

Ruby on Rails Guide से:

शब्दशः html_safe बुला से raw सहायक नहीं बल्कि का उपयोग कुछ सम्मिलित करने के लिए:

<%= raw @cms.current_template %> <%# inserts @cms.current_template as is %> 

या, समतुल्य रूप, <%== का उपयोग करें:

<%== @cms.current_template %> <%# inserts @cms.current_template as is %> 
+0

रेल गाइड पर देखा, मुझे नहीं पता कि मुझे यह कैसे याद आया? धन्यवाद! – mwoods79

+0

क्या इसका उपयोग इंटरपोलेशन में किया जा सकता है? '" # {@ कुछ}

यहां

"है या आप स्ट्रिंग के अंत में html_safe का उपयोग करेंगे? – Jordan

10

रेल वास्तव में ईआरबी के बजाय Erubis का उपयोग करता है, जो कई अन्य सामानों का समर्थन करता है।

<%== बिल्कुल के रूप में आप उम्मीद है, हालांकि यह है: It emits the value unescaped

+0

क्या यह सही है, रेल Erubis का उपयोग करता है? –

+1

https://github.com/rails/rails/blob/master/actionpack/lib/action_view/template/handlers/erb.rb#L59 – Nevir

+0

यदि आप मेरे मूल प्रश्न को हल करने के लिए कुछ जोड़ते हैं, "क्या यह ठीक है html_safe या कच्चे को बुला रहा है? या इसके लिए और भी कुछ है? "। मैं इसे एक उत्तर के रूप में स्वीकार करूंगा। जब मैंने इसे पहली बार पढ़ा तो मैंने "कमाल" सोचा, और लगभग इसे स्वीकार कर लिया। – mwoods79

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