我想要创建一个基于事件的通知和徽章系统,当用户完成某些目标时,可以奖励他们。目标可包括:
homepage
。
这会是像AASM这样的状态机的工作吗?我对这样的系统没怎么玩过。这是定义事件的方式,还是有更好的插件/解决方案来适应这种类型的行为?任何关于方法的教程或建议都将不胜感激。
发布于 2010-02-12 21:49:23
这里的棘手之处似乎在于弄清楚你想要怎样维持你需要的状态来决定什么时候应该授予徽章。rails的状态机插件不会对你有多大帮助。
例如,一段代码如何确定用户是否连续登录10天?一旦您知道了这一点,那么您就可以担心如何组织事件处理。
当他们拿到警徽时,你需要实时通知他们吗?如果是这样的话,那么您可以很容易地使用ActiveRecord::观察者完成这一任务,但是它在thelong (http://api.rubyonrails.org/classes/ActiveRecord/Observer.html)中可能存在一些延迟问题。
如果您不需要实时完成,那么您可以使用某种形式的后台作业来完成。外面有很多后台作业的库。我使用工作时,我不关心缩放,只是想尽快得到一些东西。
https://stackoverflow.com/questions/2253795
复制相似问题