我想以模块化的方式构建我的应用程序:例如我可能有:
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.)
注意:项目和任务可以有很多用户。
我想构建它的方法是:
- 用户= gem
- 项目 = Gem
- 任务 = gem
每个都可以返回 json(用于 ember)或 html。两者都不依赖于彼此,想法是每个只是一个细节。 Rails、ember 和 html 都只是细节。
我怎样才能解决这个问题,并在一天结束时将它们像拼图一样拼在一起?或者这是否可行?
现在我几乎完成了这个概念的用户部分。它包含模型、测试、 Controller 和 View 。我可以将其捆绑为 gem 还是应该只捆绑 Controller 和模型?这个“用户”gem 将使用 friendlyId gem 使 url 看起来不错,事实上所有的“gems”(项目、任务和用户)都将依赖于这个 gem。
您建议如何实现我想要的模块化?这是好习惯吗?不好的做法?
最佳答案
Pivotal Labs 做了一个演示(雅典的 Euruko 2013),他们展示了一种类似于您所描述的 Rails 引擎方法。这是演示 http://www.ustream.tv/recorded/35107339/highlight/377037
虽然我还没有在实践中看到它,但我想。
关于ruby-on-rails - 创建 Rails gem ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058993/