Paginación en RoR

La forma mas simple de hacer paginacion de resultados en rails es la siguiente(actualmente estoy usando Ruby on Rails 2.3.8 y RubyGem 1.3.7)

  • Instalar la gema mislav-will_paginate
  • sudo gem source -a http://gems.github.com; sudo gem install mislav-will_paginate
  • Agregar la gema a tu archivo enviroment.rb => /config/enviroment.rb
  • config.gem 'mislav-will_paginate', :lib => 'will_paginate', :source => 'http://gems.github.com'
  • Agregar el metodo para paginar al controlador
  •  def index
       @personas = Persona.paginate(:per_page => 5, :page => params[:page])
      end

    En este caso se esta exigiendo una paginacion cada 5 resultados , ud puede/debe cambiar el numero de resultados que desea por pagina.

  • Agregar la paginacion a nuestra vista.
  •   will_paginate @personas, :prev_label => "« Anterior", :next_label=> "Siguiente »" 

    Si deseas que tu paginacion use ajax agregue lo siguiente .

  • Crear el archivo index.js.erb en la carperta de tus vistas y colocar el siguiente codigo dentro de el:
  • "#personas_url").html("<%= escape_javascript(render("personas")) %>");
  • Crear el archivo pagination.js dentro de /public/javascripts e insertarle este codigo:
  • $(function() {
      $(".pagination a").live("click", function() {
        $(".pagination").html("Cargando pagina...");
        $.get(this.href, null, null, "script");
        return false;
      });
    });
    

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Please leave these two fields as-is:

    Protected by Invisible Defender. Showed 403 to 12.171 bad guys.