【发布时间】:2018-12-14 14:58:27
【问题描述】:
自从升级到 Rails 5.1 后,我在尝试对未过滤(但未过滤)的用户表结果进行分页时收到以下错误:
我使用 will-paginate 3.1.6 和 Rails 5.1.0。我什至不确定是哪一行导致了错误;大概就是这条线
format.html { @members = @members.page(params[:page]); render }
因为在错误的正上方,我看到一个数据库调用询问偏移量为 25 限制为 25 的用户。
我什至尝试为(标准 ActiveRecord)User 模型创建一个empty? 方法,但这会将错误更改为抱怨这不是字符串。
我需要更改对 will_paginate 的调用吗?我需要早期版本的 will_paginate 吗?如何让它与 Rails 5.1 一起工作?
编辑:这就是@members 的填充方式:
@members = User.order("id DESC")
if current_user.admin_level < 8
@members = @members.where("country = ?", current_user.country)
end
【问题讨论】:
-
您似乎将 User 模型的一个实例传递给
will_paginate,因为它需要 ActiveRecord 关系。你能添加你的控制器和视图逻辑吗? -
你能添加整个控制器方法吗?
-
@abM 我刚刚添加了创建 ActiveRecord 关系的代码。
-
如果您不确定导致错误的原因,很可能您没有向我们显示导致错误的代码。请创建一个 executable example,就像 Benj 为 this question 所做的那样。甚至可以将use his 作为一个注视点。
标签: ruby-on-rails will-paginate ruby-on-rails-5.1