我想在我的 Rails 应用程序中构建功能,以显示随时间推移的追随者趋势。
目前,我的追随方法涉及创建和销毁关系对象 - 追随创建具有追随者 ID 的对象,追随和取消追随删除该关系对象。
由于关系对象在取消关注时被删除,因此不可能返回并查看在任何给定时间存在多少关注者。
为了解决这个问题,我能想到的最好的解决方案是:
与其在取消关注时删除关系对象,不如创建一个负值(例如 -1)的新对象。以下将创建一个正值为 +1 的对象。因此,将给定对的总价值相加将得出他们当前是否关注(1 或 0),而历史趋势也可以通过将给定关注的总关注值相加来计算。
我的问题是:这是这个问题最优雅的解决方案吗?有更简单的方法吗?我意识到可以使用 cron 作业来输出每日数字,但这似乎会重复数据。还有其他建议吗?
任何帮助将不胜感激!