[英]paginate last 20 models, ruby on rails (will_paginate gem)
我正在尝试使用will_paginate gem进行分页:
@books = Book.joins(:ads).last(20).page(params[:page]).per_page(10)
但是我遇到了这个错误: #<\\ Array:0x007fc3ef37d308>的未定义方法`page',而且我似乎无法弄清楚出了什么问题。 分页在其他动作中就像是一种魅力。
谢谢! :)
不要使用last
因为那样会触发查询执行。 使用reverse_order
和limit
代替。
Book.joins(:ads).reverse_order.limit(20).page(params[:page]).per_page(10)
如果仍要对数组进行分页:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.