【问题标题】:Deploying a Rails app with mix-and-match Rails engines使用混合搭配的 Rails 引擎部署 Rails 应用程序
【发布时间】:2012-09-22 00:30:52
【问题描述】:
我们正在尝试构建一个由多个 Rails 引擎组成的 Rails 应用程序。每个引擎都提供给定的功能。主要的两个要求是:
- 我们需要能够将此 Rails 应用程序自定义部署(混合和匹配 Rails 引擎)到给定客户端
- 我们需要能够支持不同版本的 Rails 引擎。基本上是为了支持不同版本的混搭。
我正在寻求有关真正尝试过的方式的任何建议和建议。感谢您的帮助。
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-3.2
rails-engines
【解决方案1】:
为此,您至少必须编写自动化脚本(或具有相同效果的东西)以在部署期间动态更改以下位置的代码,
- 宝石文件
- routes.rb
- 配置/初始化器
- 任何 Rails 引擎特定逻辑(如果想要设计身份验证,需要添加控制器预过滤器)
我认为拥有一个原型存储库并为每个实例手动调整会更易于维护。如果您没有大量特定于实例的应用程序,这将是有意义的。对于半低的实例量,我认为自动化的弊大于利。
或者,另一种选择可能是包括所有功能以及每个实例“静音”或“停用”不需要的功能。