2012-04-11 59 views
0

我一直在關注一個簡​​短的tutorial在我的應用程序上構建一個標籤菜單。Rails 3.1。如何使菜單生成器輸出haml?

這是Applciation_helper

def menu_builder(page_id) 
tabs = ['events','locations','account'] 
content = "" 
tabs.each do |tab| 
    content << if page_id == tab 
    content_tag('li', content_tag('a', tab, :href => nil), :class => 'active') 
    else 
    content_tag('li', content_tag('a', tab, :href => "/#{tab}"), :class => 'inactive') 
    end 
end 
content_tag(:ul, content, :class => 'tabnav') 
end 

application.html.haml

%nav 
    = menu_builder(@page_id) 

menu_builder法,這是源代碼,輸出

<nav> 
    <ul class="tabnav">&lt;li class=&quot;active&quot;&gt;&lt;a&gt;events&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;inactive&quot;&gt;&lt;a href=&quot;/locations&quot;&gt;locations&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;inactive&quot;&gt;&lt;a href=&quot;/account&quot;&gt;account&lt;/a&gt;&lt;/li&gt;</ul> 
</nav> 

我與haml_tag玩弄所以,但無法計算如何使menu_builder方法輸出正確 句法。

回答

0

嘗試更換:

content = "" 

有:

content = "".html_safe 
+0

完美的作品。謝謝! – 2012-04-11 09:36:02

+0

或使用'raw' helper:'content = raw「」' – jdoe 2012-04-11 09:47:36