Разбиение на страницы и сортировка в приложении Rails RESTful

Любые советы о том, как реализовать сортировку и разбивку на страницы на ресурсе в приложении Rails и все еще сохраняете RESTful?

Как сопоставить параметры для номера страницы и поля сортировки чистым способом? (В настоящее время я использую map.resources: x для каждого ресурса в моем приложении)

Какие-либо другие проблемы с исполнением, о которых я должен знать? (например, кэширование)

Спасибо заранее.

EDIT Я переформулировал этот вопрос в более общем, надеясь, что я получу больше ответов. Я собираюсь голосовать, чтобы закрыть этот, поскольку он больше не имеет отношения к делу. Спасибо за ответы безумного мечтателя и vrish88.

Ответ 2

Я бы порекомендовал вам взглянуть на эту статью:

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 и простая в использовании!