Mysql 创建一个;饲料“;从多个rails模型中,是否高效?

Mysql 创建一个;饲料“;从多个rails模型中,是否高效?,mysql,ruby-on-rails,ruby-on-rails-3,Mysql,Ruby On Rails,Ruby On Rails 3,这是一个后续行动。在这个问题中,tadman建议使用以下方法创建来自三个模型(Ticket、Post、Report)的最近项目的用户提要: 他认为这是一种可行的方法,但并不一定是最有效的。他建议另一种方法是“创建一个索引表,该索引表和各种记录具有多态性关联。” 我真的很想了解更多关于这个替代解决方案的信息,它看起来更高效、更优雅。谁能告诉我怎么做?让我们使用上一个问题中相同的背景信息作为基础。我曾经做的是,有一个单独的模型提要(feeds\u controller),并在保存所有感兴趣的模型的回

这是一个后续行动。在这个问题中,tadman建议使用以下方法创建来自三个模型(Ticket、Post、Report)的最近项目的用户提要:

他认为这是一种可行的方法,但并不一定是最有效的。他建议另一种方法是“创建一个索引表,该索引表和各种记录具有多态性关联。”


我真的很想了解更多关于这个替代解决方案的信息,它看起来更高效、更优雅。谁能告诉我怎么做?让我们使用上一个问题中相同的背景信息作为基础。

我曾经做的是,有一个单独的模型提要(feeds\u controller),并在保存所有感兴趣的
模型的回调后更新它。因此,例如,如果您有一篇模型文章,请使用after_save回调:

def after_save
  feed = Feed.new
  feed[:model_name] = 'Article'
  feed[:item_id] = id
  feed.save
end
然后,您可以像其他任何模型一样线性访问提要。计算费用是在保存提要时产生的,而不是从提要中读取


哦,你也可以有
Feed有很多:文章;has-many:user、has-many:status等等,然后
:在提要中包含所有这些资源,并在视图中呈现它们。希望这有意义;-)

关于如何将其放入控制器并在视图中渲染,有什么想法吗?不确定你所说的“那么:在提要中包含所有这些资源”是什么意思?
def after_save
  feed = Feed.new
  feed[:model_name] = 'Article'
  feed[:item_id] = id
  feed.save
end