2013-03-29 3 views
2

Я реализую двойную разбивку на две страницы с помощью ajax. Одна из этих страниц - бесконечная страница, но я думаю, что это не имеет значения.double pagination with will_paginate и ajax

Ну мой код это довольно просто:

Контроллер:

@products = @brand.products.search(params[:search]).paginate(:page => params[:product_page], :per_page => 3) 

@comments = @brand.comments.paginate(:page => params[:comment_page], :per_page => 5) 

show.html.erb

<%= will_paginate @comments, :param_name => 'comment_page' %> 
<%= will_paginate @products, :param_name => 'product_page' %> 

И show.js.erb (это то, что неправильно)

//Endless comment pagination 
<% if params[:paginate] == 'comment_page' %> 
    $("#comments").append("<%= j (render @comments) %>"); 
    <% if @comments.next_page %> 
    $(".pagination").replaceWith("<%= j will_paginate @comments %>"); 
    <% else %> 
    $('.pagination').remove(); 
    <% end %> 
<% end %> 

<% if params[:paginate] == 'product_page'%> 
    //Product pagination 
    $('#products').html('<%= escape_javascript(render :partial => "products") %>'); 
    //I put this because if I didn't, ajax just works once. 
    $('.pagination a').attr('data-remote', 'true'); 
<% end %> 

, но params [: pa ginate] == 'comment_page' и params [: paginate] == 'product_page' не работает.

Если я не ставил эту пару линий, это работает, но когда я разбиваю одну из них, другая тоже разбивается на страницы.

Спасибо!

ответ

0

Вместо :param_name ключа на will_paginate помощника, попробуйте :params

<%= will_paginate @comments, params: { paginate: "comment_page" } %> 
+0

Вот документы https://github.com/mislav/will_paginate/wiki/API-documentation#view-template-helpers – mraaroncruz