简而言之,每次用户查看资源时,都会创建一个事件模型对象。每个事件都有一个持续时间列。如何才能最好地保存每个事件之间的持续时间?
class Event
belongs_to :session
end
我的直觉反应是每次创建新事件时使用after_save回调,计算“now”和 previous 事件之间的时间,并将其保存为上一个事件的持续时间。但是,这会创建一个“瀑布”效果,因为回调会在保存上一个事件时执行,然后在之前的事件之前执行,依此类推。
有什么建议吗?
谢谢!
答案 0 :(得分:1)
你最好使用after_create回调,这在更新前一个元素时不会触发
答案 1 :(得分:0)
我可能会在用户的会话中保留最后一个事件时间,因为它会很快...这是否有意义可能取决于您何时需要此信息,但是 - 是否用于报告,使用在互动期间等。