Ruby Rails - 帮助将徽章添加到应用程序

Ruby on Rails - Help Adding Badges to Application

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

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

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

我是 RoR 的新手,想知道在我的所有控制器都可见的 class 中实现此代码的最佳实践是什么。我考虑将其放入辅助模块,但意识到这不是正确的解决方案。我应该怎么做?

看看功德gem。即使您想从头开始开发自己的徽章系统,这个 gem 也包含许多您可以使用的不错的解决方案。 https://github.com/merit-gem/merit