Home > active_resource_pagination

active_resource_pagination

Active_resource_pagination is a project mainly written in Ruby, based on the MIT license.

active resource pagination

= active_resource_pagination

This gem adds pagination support to Active Resource.

== Sample Usage

Article is a resource model

Article.paginate Article.paginate(:page => 2, :per_page => 20) Article.paginate(:page => 2, :per_page => 20, :total_entries => 123) Article.paginate(:page => 2, :per_page => 20, :params => {:year => 2010})

== Configuration

To set default per_page value for all resources. you can do ActiveResource::Base.per_page = 20 # in config/environment or initializers

or to implement per_page() in your resource class.

== Detail

When doing the pagination query, it converts :page and :per_page parameters to :offset and :limit to the actual find method, assure your backend honors :offset and :limit parameters.

Article.paginate(:page => 2, :per_page => 20, :params => {:year => 2010}) # is translated into 2 request calls

Article.find(:all, :params => {:year => 2010, :offset => 40, :limit => 20}) Article.find(:one, :from => :count, :params => {:year => 2010})

  • If you pass in the :total_entries parameter, Model.count() will not be called.
  • You can always override count() if default doesn't suit your need.
  • If you don't pass in the :total_entries parameter, Model.count() will be called, unless result count > per_page, then this method automatically sets the count from the result.