Rails 用户有多种 Action,按一对多关系后,如何同时从这多种 Action 中取值?

zhangner · 2013年03月24日 · 最后由 zlx_star 回复于 2013年03月25日 · 2048 次阅读

比如豆瓣网站这种,用户有关注其他会员事件,有想读某本书事件,想看某部电影事件,想参加某个活动事件。按 rails 的 association 处理后,会员 Model 中会有多个 has_many,分别对应到这些事件。

按时间查看这个会员的事件记录时,怎样去保证从多个事件队列中取出的数据是时间有顺的呢?

或者说事件本身就是保存在一个存储上的,只是通过多态的方式按类型保存了不同类型事件的 id,取数据时只需要从该事件 list 中取值即可,展示时再分别到不同的地方取真实的数据。用户产生想读某本书的事件时,同时记两条记录。

把这些事件抽象出来变成一个独立的模型:)

#1 楼 @wuwx 是不是就是说有个地方单独存在摘要信息呢?比如一个 ID 加一个类型,引用到各个类型的详细数据。

赞同后一种做法 多态来实现

需要 登录 后方可回复, 如果你还没有账号请 注册新账号