【发布时间】:2022-07-11 19:26:53
【问题描述】:
rails 测试产生如下错误
ActionView::Template::Error: undefined method `total_pages' for nil:NilClass
options[:total_pages] ||= scope.total_pages
对于视图中的这一特定行: <%= paginate @carts %>
控制器动作按照如下逻辑生成一个空数组
if user?
@carts = Cart.order(created_at: :desc).where([user_id = ?, current_user.id]).page params[:page]
else
@carts = []
end
Kaminari 已捆绑
Using kaminari-core 1.2.2
Using kaminari-actionview 1.2.2
Using kaminari-activerecord 1.2.2
Using kaminari 1.2.2
puts @carts.size 确实在日志中显示 0。所以数组对象存在,但范围没有激活。
在这个特定的例子中,kaminari 的基本设置似乎没有起作用,而在另一种情况下, @users = User.page params[:page] 测试没有抱怨。
如何解决?
【问题讨论】:
标签: ruby-on-rails pagination kaminari