Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用来自多个数组的属性对模型进行分页_Ruby On Rails_Pagination_Will Paginate_Kaminari - Fatal编程技术网

Ruby on rails 使用来自多个数组的属性对模型进行分页

Ruby on rails 使用来自多个数组的属性对模型进行分页,ruby-on-rails,pagination,will-paginate,kaminari,Ruby On Rails,Pagination,Will Paginate,Kaminari,我有四种类型的RawScore,我想在分页表中一起显示 代码如下所示: @facebook_scores_today = Rawscore.where(:channel_string => "Facebook", :project => @project, :created_at.gt => Time.now.beginning_of_day) @youtube_scores_today = Rawscore.where(:channel_string => "Yout

我有四种类型的RawScore,我想在分页表中一起显示

代码如下所示:

@facebook_scores_today = Rawscore.where(:channel_string => "Facebook", :project => @project, :created_at.gt => Time.now.beginning_of_day)

@youtube_scores_today = Rawscore.where(:channel_string => "Youtube", :project => @project, :created_at.gt => Time.now.beginning_of_day)

@twitter_scores_today = Rawscore.where(:channel_string => "Twitter", :project => @project, :created_at.gt => Time.now.beginning_of_day)

@influence_scores_today = Rawscore.where(:channel_string => "Influence", :project => @project, :created_at.gt => Time.now.beginning_of_day)
其中,根据
:channel\u string
,Rawscore有一个散列,其中有多个值作为表的属性

我该怎么做?有什么宝石可以帮助“will_paginate”或“kaminari”吗

更新(这是我的Rawscore模型)


我想在Rawscore模型中显示:values散列的键值

Kaminari可以对数组进行分页,但效率不高,因为Active Record将实例化所有检索到的记录(即,如果您有10000条记录,并且只想显示100条,那么内存中将有10000个AR对象)

<>您可以考虑加入查询并用查询< /p>分页。
scores_today = Rawscore.where(
  :channel_string => ["Facebook", "Youtube", "Twitter", "Influence"], 
  :project => @project, :created_at.gt => Time.now.beginning_of_day
).page(params[:page])

问题的答案在于使用WillPaginate::Collection创建您自己的分页结构


这是rubydoc链接:

我需要显示每种类型的Rawscore的一个属性。如何在视图中实现这一点?所有属性都在Rawscore模型的散列中。如何显示它们?请使用您尝试显示模型的代码更新您的问题。我不明白你想要什么。
Kaminari.paginate_array(my_array_object).page(params[:page]).per(10)
scores_today = Rawscore.where(
  :channel_string => ["Facebook", "Youtube", "Twitter", "Influence"], 
  :project => @project, :created_at.gt => Time.now.beginning_of_day
).page(params[:page])