我有两个 Rails 应用程序,我正在考虑将它们合并为一个,因为它们共享相似的布局。现在,一个应用程序中有一个脚本,可将另一个应用程序(包括基本 Controller )的资源提取到第二个应用程序中。我一直在考虑以下几种方法:
- 将应用程序与命名空间合并,并在部署时使用一个脚本来创建两个单独的 RPM 软件包(用于在 CentOS/RHEL 上部署)以及其中的相应文件
- 将一个应用程序作为另一个应用程序的引擎运行。将所有共享 Controller 和视觉资源放入顶级应用程序中。部署后,如果不需要,请将引擎拆掉。 (即,如果这只是第一个应用程序,而我不想提供第二个应用程序的代码)
- 使用通用 Controller 和 CSS/JS 创建一个 GEM,并找到一种方法将其注入(inject)到每个正在运行的应用中。
有什么想法/想法吗?我正在考虑使用数字 1,因为它可能是最容易开发的(我认为 2 会更容易部署)
最佳答案
在Brighter Planet我们做(3)。我们的shared layout gem支持 Rails 2 和 Rails 3。
您尤其需要查看:
- lib/brighter_planet_layout/rails.rb这有助于 Rails 2
- lib/brighter_planet_layout/railtie.rb这有助于 Rails 3
- lib/brighter_planet_layout/rake_tasks.rb它可以帮助您将共享文件复制到 Rails 2 公共(public)目录
关于ruby-on-rails - 在两个 Rails 应用程序之间共享视觉 Assets 以及一些 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7199503/