After reading "Nested with_scope" post I thought that it would be handy way to create entity lists with sorting, pagination and filtering features.
You could setup an around filter that would automatically paginate and filter your model entities.
class MyController < ApplicationController
around_filter SearchFilter.new(:products, :search_string), :only => :list
around_filter PagintationFilter.new(:products, 20), :only => :list
def list
@products = Product.find(:all)
end
end
Those could be wrapped in some kind of DSL (class methods).
The problem with similar sorting filter is that AR::Base::with_scope doesn't allow :order param.