使用will_paginate和ajax进行双重分页

时间:2013-03-29 22:04:45

标签: ruby-on-rails-3 jquery 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 [:paginate] =='comment_page'和params [:paginate] =='product_page'不起作用。

如果我不添加那些几行,它可以工作,但是当我对其中一个进行分页时,另一个也分页。

谢谢!

1 个答案:

答案 0 :(得分:0)

而不是:param_name帮助上的will_paginate键,请尝试:params

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