Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2011, 13:41
Avatar de rasmarko
rasmarko
 
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Exclamación Render HTML (Rails)

No estoy muy experimentado en Ruby y apenas estoy haciendo funcionar Rails. Les comento el problema que tuve, para ver si me pueden ayudar. Añadí un método en el helper (application_helper.rb) que me muestra menús y los organiza conforme a barras, en realidad funciona bien, pero no logro renderearlo en el sitio como es debido.

Código ruby:
Ver original
  1. def menu(location = 'header', bars = 1)
  2.    
  3.     menu = Menu.order("`order` ASC").where(
  4.            "location = ? AND published = ?", location, true)
  5.  
  6.     _html_menu = chunk_array(menu, bars).collect {|menu|  
  7.      
  8.       _menu_content = ''
  9.       menu.map {|key, item|
  10.        
  11.         _menu_content = content_tag :li do
  12.           menu.map {|item|
  13.             concat(content_tag(:a, item.name, :href => item.url)
  14.             )
  15.           }
  16.         end
  17.      
  18.       }
  19.      
  20.       content_tag(:nav, content_tag(:ul, _menu_content), :id => "menu-#{location}")
  21.  
  22.     }
  23.        
  24.   end
  25.  
  26.   def chunk_array(array, pieces = 1)
  27.     len = array.length;
  28.     mid = (len/pieces)
  29.     chunks = []
  30.     start = 0
  31.     1.upto(pieces) do |i|
  32.       last = start+mid
  33.       last = last-1 unless len%pieces >= i
  34.       chunks << array[start..last] || []
  35.       start = last+1
  36.     end
  37.     chunks
  38.   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:
&lt;nav id=&quot;menu-header&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;/&quot;&gt;Portada&lt;/a&gt;&lt;a href=&quot;servicios&quot;&gt;Servicios&lt;/a&gt;&lt;a href=&quot;portafolio&quot;&gt;Portafolio&lt;/a&gt;&lt;a href=&quot;contacto&quot;&gt;Contacto&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt; 
Les agradezco mucho su atención y espero que me puedan quitar este dolor de cabeza
__________________
Fuentes - Diseweb - Frases Célebres