Я бы порекомендовал вам взглянуть на эту статью:
http://dev.nozav.org/rails_ajax_table.html
http://dev.nozav.org/ajaxtable/ (это демонстрационное приложение)
Я использовал один и тот же базовый код в одном из моих приложений. Я не использовал реализацию AJAX, которую они описывают, но я использовал помощников сортировки, которые они упоминают, а затем структурировал свое представление, чтобы включить сортировку. В помощниках по сортировке вы просто захотите убрать вещи, связанные с ajax. Шахта в конечном итоге выглядит так:
def sort_link_helper(text, param)
key = param
key += "_reverse" if params[:sort] == param
parameters = params.merge({:sort => key, :page => params[:page], :action => controller.action_name })
link_to(text, url_for(parameters))
end
def sort_td_class_helper(param)
result = 'class="sortup"' if params[:sort] == param
result = 'class="sortdown"' if params[:sort] == param + "_reverse"
return result
end
Самое приятное в этой реализации - это RESTful, DRY и простой в использовании!