2

好吧..我已经把头撞在墙上了一段时间了。

我有两个模型,比如说DownloadsRankings,它们都有自己独特的模式。我需要按这些记录的创建时间合并这些记录,然后将该数据发送到我的视图以显示在一个表中,如下所示。

小时下载_计数整体_排名
 1:00 10 115
 2:00 11 116
 ...

我想创建一种“元”容器,它具有@download、@ranking 和小时的所有属性:

  • 小时创建于
  • download_count(来自下载)
  • 整体排名(来自排名)
  • ...

如何创建此元容器对象?

我可以按创建小时的下载量和排名进行分组,并通过哈希合并它们。所以我有一个看起来像这样的对象:

@metrics = {"Sun, 06 May 2012 00:00:00" => [<Ranking ...>, <Download ...>], ...}

但我不确定如何制作一个适合我上面架构的新对象。我唯一的解决方案是创建一个新类并手动设置我想要转移的每个属性。不过这感觉真的很麻烦。

(我使用的是 rails 3.0.10 和 ruby​​ 1.8.7)

4

1 回答 1

2

在我看来,您想使用演示者。该链接来自 2007 年,但是搜索“rails Presenter 模式”应该会让您朝着正确的方向前进。

于 2012-05-09T18:38:03.107 回答