Kaminari在哪里计算它的页面链接?

时间:2012-07-27 05:23:18

标签: ruby-on-rails ruby-on-rails-3 activerecord kaminari

我正在使用我制作的自定义模型假装是基于表的ActiveRecord对象。它由SQL视图支持。幕后有一些诡计。

问题是与Kaminari的分页链接无法正常工作。他们正在向错误的路线显示正确的页码和页面链接数。

我需要知道在Kaminari源中它在哪里找出了它被设置为分页的对象的路径。或者,如果有人熟悉将用于计算该值的活动记录方法名称。

我一直在搜索源代码,但我无法弄明白。

更新
我的实际问题是由我的路线文件引起的。我有这个条目 -

match 'dashboard' => 'users#start', :as => 'user_root'

而不是我的链接引用/ users / start?page = x而不是指向/ users / dashboard?page = x。我仍然在同一个控制器动作,但我查看了需要来自/ users / start的分页链接的页面,所以我认为它会使用它而不是这个匹配规则。删除了匹配规则,我已经完成了设置!

1 个答案:

答案 0 :(得分:3)

上面的评论Kaminari::ActionViewExtension#paginate表示它接受选项哈希中的:params键,因此您可以使用它来覆盖网址参数:

paginate @bloops, params: {controller: "foos", action: "index"}

默认情况下,它假设我们正在对“当前”页面进行分页,这是通常的情况。

来自Kaminari::Helpers::Tag#initialize

@params = @options[:params] ? template.params.merge(@options.delete :params) : template.params