2010-10-07 18 views
8

मैं है मेरी application_helper.rb फ़ाइल में निम्न सहायक:रेल, यह सहायक एचटीएमएल क्यों नहीं आउटपुट करता है, बल्कि उद्धरण में एचटीएमएल क्यों करता है?

def topmenu 
    pages = { 
     "projects" => projects_path, 
     "photos" => photos_path 
    } 
    pages.map do |key, value| 
     classnames = %(class="current") if controller.controller_name == key 
     "<li#{classnames}>#{link_to(key, value)}</li>" 
    end 
    end 

तब मेरे application.html.erb फ़ाइल में मेरे पास है:

<%= topmenu %> 

किसी कारण से, पेज दिखा पैदा कर रहा है उपरोक्त सहायक से HTML के रूप में HTML, HTML नहीं। यकीन नहीं है कि क्यों? thx

उत्तर

25

मुझे लगता है कि आप रेल 3 चला रहे हैं। स्ट्रिंग लौटने से पहले .html_safe विधि कॉल करें:

"<li#{classnames}>#{link_to(key, value)}</li>".html_safe 
+0

बहुत अच्छा धन्यवाद। कहीं भी नहीं मिला। डॉन गूगल – AnApprentice

-2

यह कोड अधिक स्वच्छ बनाता है? यही है ना और आप सहायता फ़ंक्शन में अधिक कुछ कर सकते हैं (क्योंकि यह केवल एक HTML नहीं है)

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