我正在尝试使用will_paginate gem进行分页:
@books = Book.joins(:ads).last(20).page(params[:page]).per_page(10)
但是我收到了这个错误:#< \ Array:0x007fc3ef37d308> 的未定义方法`page',我似乎无法弄清楚什么是错的。在其他行动中,分页就像一种魅力。
谢谢! :)
答案 0 :(得分:0)
不要使用last
因为这将触发查询执行。请改用reverse_order
和limit
。
Book.joins(:ads).reverse_order.limit(20).page(params[:page]).per_page(10)
答案 1 :(得分:0)
如果您仍想分页数组:
require 'will_paginate/array'
然后使用
Array#paginate
https://github.com/mislav/will_paginate/wiki/Backwards-incompatibility(页面底部)
来源:
https://github.com/mislav/will_paginate/blob/2-3-stable/lib/will_paginate/array.rb https://github.com/mislav/will_paginate/blob/master/lib/will_paginate/array.rb