- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Kaminari 0.13.0 与 RubyOnRails 3.2.8.
让我们假设我有一个默认的元素排序 crated_at
, 我有 8
我列表中的元素 {a, b, c, d, e, f, g, h}
然后我给它们分页 3
每页。
默认情况下,kaminari 将创建以下页面链接 1, 2, 3
链接到 {h, g}
, {f, e, d}
, {c, b, a}
.
如何让 kaminari 以相反的顺序创建页面链接? 我希望它以相反的顺序生成链接 3, 2, 1
仍然链接到逆序元素 {h, g}
, {f, e, d}
, {c, b, a}
.
关于我试图解决的问题的一些背景:
我通过 created_at 对页面上的元素进行排序。我想让元素永远停留在同一页面上。如果我不使用反向分页,每次添加新元素时页面内容都会发生变化。因此,在上面的示例中,如果我将更多元素添加到列表 {i, j}
中,则默认为 kaminari 行为。然后是 1st
页面将包含 {j, i, h}
,不是 {h, g}
像以前一样。 2nd
页面将包含 {g, f, e}
不是 {f, e, d}
像以前一样,等等......
这对博彩、搜索引擎优化等不利。
如果我有上面描述的反向页码,那么 1st
页面仍然会有{c, b, a}
, 3rd
页面将使用新元素更新为 {i, h, g}
并且会有一个带有一个元素的新页面 4 {j}
.
最佳答案
我找到了解决方案:
def index
users_scope = Users.order(:whateva)
@users = reverse_paginate(users_scope, params[:page])
end
def reverse_paginate(scope, page)
if page
page_number = page
else
page_number = Kaminari.paginate_array(scope.reverse).page(1).per(10).num_pages
end
Kaminari.paginate_array(scope.reverse).page(page_number).per(10).reverse!
end
_page.html.erb
并添加
?page=1
到网址:
url = "#{url}?page=1" if page.number == 1
link_to_unless page.current?, page.number, url, opts = {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil}
关于ruby-on-rails - 用kaminari反向分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547991/
我正在迭代大量模型对象,出于性能/内存原因需要分页。 我想做这样的事情: for i in 1..Person.num_pages Person.page(i).each do # wor
这是我的 Controller (索引已排序): def index if params[:limit] @bisacs = Bisac.order(:bisac_code).
我想使用 Kaminari 分页 gem 对我的对象进行分页。我的 Controller 中有这一行: @products = Product.order("id").find_all_by_id(p
我在如何让 Kaminari 工作方面遇到了一些问题。我在 GitHub 上做了安装过程。 gem "kaminari" 然后运行 bundle 我有这个索引片段 @users = User.orde
所以我在我的应用程序上设置了 Kaminiari 分页,这是一个论坛。当有人回复线程时,我想将他们定向到线程的最后一页。似乎根据我用于记录编号的内容对逻辑进行硬编码以获取最后一页似乎很容易,但是是否有
kaminari中的方法是什么?知道下一页是否存在?与 will_paginate很简单,您只需调用 next_page?模型上。不知道kaminari里面有没有 最佳答案 要检查 kaminari
Kaminari 可以在不使用 COUNT(*) 查询访问数据库的情况下工作吗? 我的应用程序的数据库很大,计数项目比获取项目本身花费的时间要长得多,从而导致性能问题。 也欢迎对具有大型数据集的其他分
我正在使用 Kaminari用于在我的 Rails 应用程序中进行分页。我需要为当前页面或每一页上的项目选择全部。当前页面是相当简单的 bundle ,我如何选择其他页面上的所有项目。 file_it
我正在尝试创建一个具有分页的通知中心(通过 Kaminari)就像 Facebook 一样。 我希望该中心显示任何页面的分页(该中心包含在头文件中)。 现在我已经在下面编写了代码,然后当我访问 hom
我正在尝试使用此示例来实现 kaminarirails 无限滚动。它在我的其他应用程序中运行良好,但在此应用程序中不起作用。 Kaminari example 我的公司财务总监 def index
我环顾四周,找不到任何接近的答案。我认为这是一个非常独特的边缘案例,所以我并不感到惊讶。 我有一个索引页面,其中显示了所有线索,但我有 3 种不同的显示方式:未审核、已审核、全部。为此,我使用 cur
听起来这应该是一个常见问题,但我找不到任何相关信息。 设置:我有一个分页的项目列表;每个项目都有一个 remote: true “删除”按钮,因此可以使用 remote ajax 请求删除任何项目。
这可能是个愚蠢的问题,但我似乎找不到答案。 我想为 kaminari 做贡献,所以我 fork 了 repo,bundle 了它,现在我想运行规范以确保一切都是绿色的。但我似乎无法让它发挥作用: bi
我正在运行一些 rspec 单元测试,涉及通过 kaminari 分页取回数据,但我们应用程序的默认页面大小是 20,而 2 可以很好地用于测试。 如何为测试的默认 kaminari 页面大小设置不同
如果 Kaminari 生成返回首页的链接,则它的 URL 生成会忽略页面参数。但是,如果省略 page 参数,则应用程序会选择随机页面。因此,Kaminari 的默认行为会阻止以可靠的方式分页回到第
11月份就有这样的问题,但是没有给出答案。 Kaminari generates string instead of html in production而且没有作者的反馈,缺乏声誉不会让我有机会在那
我正在使用 Kaminari::Cells gem,当我在单元格 View 中使用 paginate 方法时,没有任何显示。我查了一下,分页方法只是返回“\n”。 最佳答案 我不确定它为什么有效,但是
假设我有 30 页使用 Kaminari 进行分页: #800 books, 25 per page =paginate @books, :outer_window => 3, :window =>
我在自定义页面上使用 kaminari 分页,但它生成基于/assets 的 url: http://localhost:3000/assets?action=my&controller=blogs&
使用Rails&Kaminari gem,渲染 View 时出现以下错误: undefined method `total_pages' for #Array:0x007faa486583e0 Con
我是一名优秀的程序员,十分优秀!