当谈到铁轨上的红宝石时,我是初学者。在我的项目中,我正在使用' kaminari' gem分页图像集。我想颠倒原来的分页,而不是:
< , 1, 2, 3, 4 ... 10, >
*其中数字是页码,箭头显示分页视图的上一页和下一页
我想得到:
<, 10, 9, 8, 7 ... 1, >
我的问题是我无法找到任何可行的解决方案,因此我要求你们寻求帮助。由于优化原因,我想避免使用paginate_array。 有没有办法简单地从右到左翻转分页?这种类似的东西甚至可能与kaminari或我应该切换到其他东西的分页?
答案 0 :(得分:0)
您最终可以使用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
end
limit
10 offset
0就像page(1).per(10)
要么
limit
10 offset
10就像page(2).per(10)
。
尝试解决这个问题。