2015-06-22 84 views
1

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

现在,徽章通过一对多关系与用户绑定,即用户可以有许多徽章。徽章在完成各种任务后会奖励给用户。任务的完成取决于许多不同变量的变化。通过调用REST API中定义的各种API端点来增加/减少这些变量。每次调用这些终结点时,我都会检查用户的情况是否发生了变化,以及是否符合新徽章的要求或是否符合某些徽章的标准。

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

我对RoR相当陌生,想知道在所有控制器都可见的类中实现此代码的最佳做法是什么。我考虑将它放入一个辅助模块中,但意识到这不是正确的解决方案。我该如何去做这件事?

+0

你可以尝试把徽章代码在[关注](http://stackoverflow.com/questions/14541823/how-to-use-concerns-in-rails-4) – p4sh4

+0

那是好还是坏那么只需在lib文件夹中添加一个实用程序类? @ p4sh4 – ScottOBot

+0

[阅读](http://www.monkeyandcrow.com/blog/reading_rails_concern/)关注更多了解,这要看情况 – p4sh4

回答