【发布时间】:2011-10-20 20:01:54
【问题描述】:
这是对Creating "feeds" from multiple, different Rails models 的跟进。在这个问题中,tadman 建议使用这种方法从三个模型(Ticket、Post、Report)中创建最近项目的用户提要:
@items = [ Ticket, Post, Report ].inject([ ]) do |a, with_class|
a + with_class.find(:all, :limit => 10, :order => 'created_at DESC')
end.sort_by(&:created_at).reverse[0, 10]
他建议这是一种可行的方法,但不一定是最有效的。他建议除了一种替代方法之外,“创建一个与各种记录具有多态关联的索引表。”
我真的很想了解更多关于这个替代解决方案的信息,它看起来更高效、更优雅。谁能告诉我如何做到这一点?让我们使用上一个问题的相同背景信息作为基础。
【问题讨论】:
标签: mysql ruby-on-rails ruby-on-rails-3