我想以模块化方式构建我的应用程序:例如,我可能有:
Users->has_and_belongs_to_many->Projects
Users->has_and_belongs_to_many->Tasks
Projects->has_many->Tasks
Tasks->belongs_to->Project (1 task belongs to 1 project.)
注意:项目和任务可以有很多用户。
我正在考虑构建它的方式是:
- 用户 = 宝石
- 项目 = 宝石
- 任务 = 宝石
每个都可以返回 json(对于 ember)或 html。两者都不依赖于彼此,这个想法是每个都只是一个细节。Rails、ember 和 html 都只是细节。
我怎么能做到这一点,并在一天结束时将它们像拼图一样连接在一起?或者这甚至可行吗?
现在我几乎完成了这个概念的用户部分。它包含模型、测试、控制器和视图。我可以将它捆绑为 gem 还是应该只捆绑控制器和模型?这个“用户”gem 将使用friendlyId gem 使url 看起来不错,事实上所有的“gem”(项目、任务和用户)都将依赖于这个gem。
你会建议做什么来获得我想要的那种模块化?这是好习惯吗?不好的做法?