< , 1, 2, 3, 4 ... 10, > *其中数字是页码,箭头显示分页视图的上一个和下一个
我想要得到:
<, 10, 9, 8, 7 ... 1, >我的问题是我找不到任何可行的解决方案,因此我向你们寻求帮助。由于优化的原因,我想避免使用paginate_array。有没有一种方法可以简单地将分页从右翻到左?这样的事情在kaminari中是可能的吗?或者我应该切换到其他的分页方式吗?
发布于 2014-07-21 22:00:13
最后可以使用sql order、limit、offset和ruby reverse。我尝试实现一些示例,但需要测试。
在模型中的某个地方,你有方法返回页面:
def users(page)
# find right offset
offset = if page.to_i == 1
# if page number 1 offset be 0
0
elsif page.to_i == 2
# if page number 2 offset be 10
10
else
# in another case offset must be page * 10
page.to_i.pred * 10
end
# order :desc and reverse
users.limit(10).offset(offset).order(created_at: :desc).reverse
endlimit 10 offset 0它类似于page(1).per(10)或limit 10 offset 10它类似于page(2).per(10)。试着解决这个问题。
https://stackoverflow.com/questions/24865950
复制相似问题