Ruby on rails 使用acts_as_votable gem时,保存投票后如何执行操作?
在我的Rails项目中,我正在使用Ruby on rails 使用acts_as_votable gem时,保存投票后如何执行操作?,ruby-on-rails,mixpanel,Ruby On Rails,Mixpanel,在我的Rails项目中,我正在使用acts\u as\u votablegem来允许经过身份验证的用户向上/向下投票 每当用户进行投票时,都会使用事件记录服务Mixpanel记录投票事件。我希望确保仅在保存投票时才提交投票事件。也就是说,如果用户已经投票,则不应再次记录该事件 考虑到作为一个gem,这个场景中的最佳实践是什么?我应该重新打开该类还是放弃gem?如果您认为需要扩展acts as\u votable的功能,更好的做法是重新打开该类(monkey patch)。从长远来看,它将更易于维
acts\u as\u votable
gem来允许经过身份验证的用户向上/向下投票
每当用户进行投票时,都会使用事件记录服务Mixpanel记录投票事件。我希望确保仅在保存投票时才提交投票事件。也就是说,如果用户已经投票,则不应再次记录该事件
考虑到
作为一个gem,这个场景中的最佳实践是什么?我应该重新打开该类还是放弃gem?如果您认为需要扩展acts as\u votable的功能,更好的做法是重新打开该类(monkey patch)。从长远来看,它将更易于维护
但最好的做法是远离act\u asu votable
并修改日志代码acts\u as\u votable
有一个vote\u registered?
方法,告诉您是否保存了投票,因此您的方法可能如下所示:
post.liked_by current_user
Mixpanel.submit 'new vote' if post.vote_registered?
非常感谢。这正是我想要的。