Использование ajax pagination (will_paginate) для нескольких групп одной модели - PullRequest
0 голосов
/ 15 апреля 2011

Я получил пагинацию ajax, используя mislav-will_paginate с js, найденным здесь: https://github.com/mislav/will_paginate/wiki/Ajax-pagination, но я столкнулся с ситуацией, в которой я не уверен, как с этим справиться.У меня есть несколько групп (одной и той же модели), и у каждой группы есть несколько списков, которые разбиты на страницы.Я не могу сказать, для какой группы загружать списки в вызове разбиения на страницы ajax.Это код, который я использую:

function ajaxPagination(){
  var container = $(document.body)
  if (container) {
    container.observe('click', function(e) {
      var el = e.element();
      if (el.match('.pagination a')) {            
        new Ajax.Request(el.href, { method: 'get' })
        e.stop()
      }
    })
  }
}

<% @groups.each do |group| %>
   <% lists = group.lists.paginate(:page => params[:group_page], :per_page => 5) %>
   <% lists.each ....  %>
   <%= will_paginate lists, :params_name => "group_page" %>
<% end %>

1 Ответ

0 голосов
/ 15 апреля 2011

Вам нужно улучшить свой JS, чтобы знать, какую «группу» вы нажимаете.

$("#<%= group %>").html("<%= escape_javascript(render("group")) %>");

См .: http://railscasts.com/episodes/174-pagination-with-ajax или читать по адресу: http://asciicasts.com/episodes/174-pagination-with-ajax

$('.group').click(function(){
    $.ajax({
       type: "GET",
       url: "/group",
       data: { 'group' : $(this).attr('id') }
       success: function(data){
         alert( "Success" );
       }
     });
});
...