module PaginatedTable module ControllerHelpers def paginated_table(tables) raise ArgumentError if tables.length > 1 name, collection = tables.first page = PageParams.create_page_from_params(params) data_page = DataPage.new(collection, page) instance_variable_set(:"@#{name}", data_page) render :partial => name.to_s, :layout => false if request.xhr? end end end ActionController::Base.send :include, PaginatedTable::ControllerHelpers