Código ruby:
Ver original
def menu(location = 'header', bars = 1) menu = Menu.order("`order` ASC").where( "location = ? AND published = ?", location, true) _html_menu = chunk_array(menu, bars).collect {|menu| _menu_content = '' menu.map {|key, item| _menu_content = content_tag :li do menu.map {|item| concat(content_tag(:a, item.name, :href => item.url) ) } end } content_tag(:nav, content_tag(:ul, _menu_content), :id => "menu-#{location}") } end def chunk_array(array, pieces = 1) len = array.length; mid = (len/pieces) chunks = [] start = 0 1.upto(pieces) do |i| last = start+mid last = last-1 unless len%pieces >= i chunks << array[start..last] || [] start = last+1 end chunks end
En el Layout simplemente tengo esto <% menu "footer", 3 %>. El problema es que no logro transformalo a HTML y me lo renderea como String, intenté usar html_safe, pero no resulta, no sé que estaré haciendo mal. Esto es lo que muestra:
Código HTML:
<nav id="menu-header"><ul><li><a href="/">Portada</a><a href="servicios">Servicios</a><a href="portafolio">Portafolio</a><a href="contacto">Contacto</a></li></ul></nav>