Garum

Descubre Bazar

Bazar: Implementando listados continuos en 15 minutos

Para los que ya estéis usando Bazar habréis notado que hay algunas cosas de las que estamos muy orgullosos y nos gustaría describiros más en detalle.

Se trata del concepto de listados continuos. Cuando abordas como mostrar muchos registros en un proyecto web hay una solución comúnmente aceptada que es la paginación por un número de registros e incluir botones a cada una de las páginas, siguiente y anterior. Como solución es muy práctica y resuelve perfectamente el problema de mostrar mucha información.

Sin embargo nos parece mucho más natural e integrado los listados continuos. Un listado continuo muestra la primera información, pongamos 30 registros y cuando detecta que haciendo scroll en la página añade automáticamente los siguiente registros.

El usuario no tiene que desplazar el ratón para seleccionar la siguiente página si no que se convierte en algo tan natural como simplemente navegar.

Una vez más Ruby on Rails lo hace simple y elegante. Os contamos como se hace:

A) Primero hay que usar el plugin jquery.pageless

Este plugin se puede bajar desde github.

B) Como funciona:

En el controlador:

def show
    @consulta = Empresasconsulta.find_by_empresa_id_and_id(current_user.id, params[:id])
    @empresasresultados = Empresasresultado.where('empresasconsulta_id = ?', params[:id]).order('orden desc').paginate(:page => params[:page], :per_page => 30)
    if request.xhr?
      render(:partial => "empresasresultado", :collection => @empresasresultados)
    end
end

Como se puede ver usamos el paginate tradicional para obtener todas las empresas de una búsqueda de 30 en 30 items.

La magia de Ruby on Rails viene con en que solo vamos a tratar las peticiones ajax y hacer un partial con la página que queremos pintar o añadir al listado.

En la vista:

En la vista el plugin jquery.pageless hace todo el trabajo «sucio»:

          "empresasresultado", :collection => @empresasresultados) %>

Aquí hay más elegancia aún, tenemos un render partial para pintar cada uno de los resultados de la siguiente página.

El resultado es que implementar listados continuos te lleva 15 minutos por vista y un código del que puedes estar muy orgulloso.

Añade tu comentario

Los comentarios están cerrados.

José Ignacio Goirigolzarri

Durante la primavera de 2010, José Ignacio Goirigolzarri propone públicamente la búsqueda y el diseño de un proyecto con impacto social que tuviera como objetivo que «todo aquel que quisiera asumir los riesgos de creación de una empresa tuviera acceso a las herramientas y el conocimiento para llevarlo a la práctica».

En los siguientes meses directivos, académicos y emprendedores de Europa y Iberoamérica aportarán sus ideas desde las tribunas de opinión de la prensa y sus propios blogs.

Al resultado, un camino para conseguir crecimiento productivo con cohesión social, le llamaron «Garum».

Hoy, Garum Fundatio es la primera fundación europea dedicada a desarrollar herramientas y conocimiento libre para empoderar a los emprendedores y las empresas de todo el mundo.

El «espíritu Garum»

Eventos

Agosto 2014
DomLunMarMiéJueVieSáb
 12
3456789
10111213141516
17181920212223
24252627282930
31 
Septiembre 2014
DomLunMarMiéJueVieSáb
 123456
78910111213
14151617181920
21222324252627
282930 
Octubre 2014
DomLunMarMiéJueVieSáb
 1234
567891011
12131415161718
19202122232425
262728293031 
Noviembre 2014
DomLunMarMiéJueVieSáb
 1
2345678
9101112131415
16171819202122
23242526272829
30 
Garum Fundatio

Diputación 4 - 48006 - Bilbao.

Florencio Escardó 1486 - 11700 - Montevideo.