我想在我的页面中加入一个分页,我使用ruby和kaminari来实现这一点。
<%= paginate @organ.services %>
&#13;
这段代码,我的控件尝试分页3到3页。在视图中:
undefined method `total_pages' for #<Mongoid::Criteria:0x007f18a8b1f338>
&#13;
因为我想通过关系来呼叫服务 我在每个器官中插入最后一个代码。
结果是:
current
&#13;
如果你能提供帮助,请感谢您的关注!
答案 0 :(得分:0)
尝试更改您的控制器代码,如下所示:
class ServicesController < ApplicationController
def index
@organs = Admin::Organ.all
@services = Service.order(created_at: :desc).page(params[:page]).per(3)
end
end
答案 1 :(得分:0)
试试这个
旧代码
@services = @services.order(created_at: :desc).paginate(page:params[:page], per_page: 3 )
新代码
@services = Service.order(created_at: :desc).paginate(page:params[:page], per_page: 3 )
答案 2 :(得分:0)
我有一个类似的问题,这是因为commonrator gem从will_paginate引入了方法并覆盖了ActiveRecord基类。
page_entries_info方法的调用堆栈中出现错误,这似乎是两个库之间的通用方法名称。
要解决此问题,您可以使用以下方法明确引用该方法:
所以查看代码:
<%= Kaminari::Helpers::HelperMethods.page_entries_info @events %>
<%= link_to "Next", path_to_next_page(@events) %>
<%= link_to "Prev", path_to_prev_page(@events) %>
和初始化程序(initializers / kaminari_config.rb)
module Kaminari
module Helpers
module HelperMethods
extend ActionView::Helpers::TranslationHelper
module_function :page_entries_info
end
end
end