#ruby-on-rails #will-paginate
#ruby-on-rails #будет разбивать на страницы
Вопрос:
Я запустил разбивку на страницы 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:
Вам нужно улучшить свой 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" );
}
});
});
Комментарии:
1. Я не уверен, что это отвечает на мой вопрос. Как мне выяснить, какая разбивка на страницы группы была нажата в контроллере?
2. На основе элемента, на который был нажат (обратите внимание, что это в jQuery) (ответ обновлен)