加载更多按钮“per_page”,显示错误

时间:2017-02-15 21:47:58

标签: javascript html ruby-on-rails ajax will-paginate

我试图制作一个load more按钮,一次只能加载4个项目。我正在使用will_paginatekaminari。我正在使用当前代码收到错误:

1)我在加载页面并在控制器对象中有per_page部分时遇到此错误: undefined method 'to_model' for 2:Fixnum

  • 我只需要弄清楚如何添加每页的项目数量,然后我可以继续使用js。

<%= link_to 'show_more', @reservations_completed.next_page, :remote => true, :id => 'show_more_link' %>

@reservations_completed = current_user.reservations.where("turned_in = ?", true).where("completed_doc_updated_at <= due_date", true).order(created_at: :desc).paginate(:page => params[:page], :per_page => 4)

2)我也尝试了以下代码并收到此错误:undefined method 'last_page?' for

@reservations_completed = user.reservations.where("turned_in = ?", true).where("completed_doc_updated_at <= due_date", true).order(created_at: :desc).page(params[:page]).per_page(3)

<%= link_to_next_page @reservations_completed, 'show_more',  :remote => true, :id => 'show_more_link' %>

1 个答案:

答案 0 :(得分:0)

在第一种情况下,您需要将路径(最简单的方法)作为第二个参数传递给link_to,请参阅docs。因此,对于第一种情况,它应该是这样的:

<%= link_to 'show_more', route_path(page: params[:page].to_i + 1), id: 'show_more_link', remote: true %>

其中route_path是您路线的url_helper。

第二种情况:尝试将.per_page(3)替换为.page(3)作为docs中的状态。