Publicidad:
La Coctelera

RoR-Lab

Evolución, anécdotas, problemas y soluciones durante el desarrollo de una aplicación web con Ruby on Rails

3 Abril 2007

La idea es utilizar los helpers...

Las vistas del sistema opté por escribirlas en haml. Encontré en los foros de haml una cosa que me pareció de lo mas interesante. Que era obvia pero no sé si por ser demasiado chobo (novato), no se me había ocurrido.

La cosa consiste en quitar de las vistas las llamadas directas a los helper que reciben una cantidad considerable de parámetros. ¿Quitarlos a donde?; pues a otro helper y ponerle un nombre bien diciente, que realmente al leer el código de las vistas uno entienda que es lo que se está mostrando ahí.

Miren por ejemplo este código que es una parte de una de las vistas que tenía yo antes...

  <% for empresa in @empresas_arr %>
  <li>
  <%= link_to_remote empresa.nombre, :update => 'productos_div', :url => { :action => :mostrar_productos, :id => empresa.id } %>
  </li>
  <% end%>
 

Cuando uno lee eso en una vista no lo entiende fácilmente, es claro que se está iterando un arreglo de empresas, pero entonces se tiene uno que poner a analizar el "link_to_remote", para poder entender que sucede en cada iteración.

Sacar el link_to_remote a un helper

Queda mucho mejor poner el link_to_remote en un helper, algo como:

 <% for empresa in @empresas_arr %>
  <li>
  <%= link_mostrar_productos(empresa) %>
  </li>
  <% end%>

..y el helper quedaría algo así como...

 module CalificarHelper
 
  def link_mostrar_productos(empresa)
    link_to_remote empresa.nombre, 
      :update => 'productos_div', 
      :url => { :action => :mostrar_productos, 
                :id => empresa.id }
  end
 
 end
 

Esto es sin duda algo mucho mas elegante... espero sus comentarios.

PD: para los que ya lo notaron, los ejemplos aunque dije que encontré la técnica en los foros relacionados a haml, están escritos en ERb. (la mayoría de la gente utiliza ERb y la técnica es igualmente aplicable).

Tags: tips

servido por Luis Felipe sin comentarios compártelo

sin comentarios · Escribe aquí tu comentario

Los comentarios están cerrados


Sobre mí

Actualmente me encuentro desarrollando una aplicación web que espero tener en producción para la mitad del 2007. La aplicación está desarrollada utilizando el framework Ruby on Rails. (RoR) Toda la evolución del sistema va a ser documentada en este blog con el ánimo de recibir retroalimentación o bien ser útil para otros desarrollos.

Fotos

Luis Felipe Hurtado Campuzano todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera