【发布时间】:2015-05-29 19:57:28
【问题描述】:
我是新手,我想弄清楚 Kaminari 是否可以在同一个控制器 def 中使用两次,如下面的示例所示。我最终希望能够在同一页面上分页并显示两组搜索结果....
例如:
def whatever
@page = params[:page] ||= 1
@per = params[:per] ||= 32
@code = query (1st query)
@code = query.uniq.to_a
@code = Kaminari.paginate_array(@code).page(@page).per(@per)
@code2 = query (2nd query)
@code2 = query.uniq.to_a
@code2 = Kaminari.paginate_array(@code2).page(@page).per(@per)
end
【问题讨论】:
-
你已经拥有的代码应该可以像现在这样正常工作,我想知道你为什么在转换为数组后分页,以及 uniq 在做什么
-
好问题。但无论如何,他不必担心,因为 rails 会为他延迟加载数据。 @MohammadAbuShady
-
尽管人们认为延迟加载很好,但过度使用它会降低你的性能,但我不确定你指的是哪一部分,但无论如何我的意思是,如果你对数组进行分页,这意味着你将查询比您实际需要的更多的数据(如果不是,那您为什么要使用分页对?)这是一种浪费,只需让 kaminary 处理查询并将结果限制为您想要的那些“32”项。跨度>
标签: mysql ruby-on-rails pagination kaminari