Ruby on Rails - 帮助向应用程序添加徽章

时间:2015-06-22 02:42:15

标签: ruby-on-rails ruby rest activerecord one-to-many

我正在创建一个rails应用程序,它是移动应用程序的后端。后端使用RESTful Web API实现。目前,我正在尝试通过使用用户可以获得的徽章来向平台添加游戏化。

现在,徽章通过一对多关系绑定到用户,即用户可以拥有许多徽章。在完成各种任务后,徽章将奖励给用户。任务的完成基于许多不同变量的变化。通过调用REST API中定义的各种API端点来递增/递减这些变量。每次调用这些端点时,我都会检查用户的条件是否已更改,以及是否有资格获得任何新徽章,或者是否不再符合某些徽章的条件。

目前,视图控制器本身包含检查是否已添加或删除任何新徽章的逻辑。这是不必要的,并在多个区域中创建重复的代码。

我对RoR还不熟悉,并且想知道在我所有控制器都可见的类中实现此代码的最佳做法是什么。我考虑将它放入辅助模块,但意识到这不是正确的解决方案。我该怎么做以及如何做到这一点?

1 个答案:

答案 0 :(得分:3)

看看优点宝石。即使你想从头开发自己的徽章系统,这个宝石包含许多你可以使用的好解决方案。 https://github.com/merit-gem/merit