我正在研究Rails中的一个项目。它包含多个子项目。他们有一个共同的登录,其余的是分开的。我想将它们全部集成到主项目中。子项目非常大,因此将它们放在一起会使管理代码变得很麻烦。有没有办法在主项目中集成子应用程序或宝石?
答案 0 :(得分:2)
您可能会考虑将应用分成引擎。这是隔离功能和使代码模块化的好方法。这是Rails引擎文档的链接:http://guides.rubyonrails.org/engines.html
如果您需要引擎的实际使用示例,您可以考虑查看Spree的代码:https://github.com/spree/spree
使用Spree,您可以通过安装或构建扩展来添加自定义功能,这些扩展是有效的Rails引擎。
如果你想引用本地gems /引擎,你可以在你的Gemfile中指向它们,如下所示:
gem 'mygem', :path => '/path/to/gem'
但请确保项目中的各个gem没有.git文件夹,否则可能会遇到有关子模块的错误。