使用jQuery在Rails 3.1中加载更多按钮的will_paginate

Oak*_*510 2 jquery ruby-on-rails will-paginate ruby-on-rails-3

我已经读过其他人已经跟随Endless Page转播并修改它以使用更多加载按钮.但是,当我尝试修改它时,我最终会添加相同的作品.换句话说,它仍然从current_page拉出来.

当我点击"加载更多"div时,我上传触发器:

$("#products").append("<%= escape_javascript render( @products) %>");
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有

@products = Product.where(:created_at => 180.days.ago..Time.now).order(sort_column + " " + sort_direction).page(params[:page]).per_page(16)
Run Code Online (Sandbox Code Playgroud)

我想知道我是否应该能够以某种方式使用will_paginate的.next_page.

有没有人使用Rails 3和jQuery使用will_paginate做类似的事情?

Bab*_*nov 6

尝试这样的事情

在产品视图中

# Show link only if there are more than one page and pass page and sorting parameters
<% unless @products.total_pages < 2 %>
    <%= link_to 'show_more', method_that_returns_products_path(:sort => sort_column, :direction => sort_direction, :page => 2), :remote => true, :id => 'show_more_link' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

并在js回应

$("#products").append("<%= escape_javascript render( @products) %>");

// Hide link if it is last page otherwise update link
<% if @products.total_pages == @products.current_page %>
    $("#show_more_link").hide();
<% else %>
    $("#show_more_link").attr("href", "<%= method_that_returns_products_path(:sort => sort_column, :direction => sort_direction, :page => (@products.current_page + 1)) %>");
<% end %>
Run Code Online (Sandbox Code Playgroud)