2012-04-11 2 views
0

Я следую за коротким tutorial, чтобы создать меню вкладок в своем приложении.Рельсы 3.1. Как сделать вывод меню haml?

Это menu_builder метод 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) 

И это исходный код, который выводит

<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

Это прекрасно работает. Благодаря! –

+0

или использовать «сырой» помощник: 'content = raw '" ' – jdoe

Смежные вопросы