Ruby on rails 如何将一台发动机安装在轨道上的另一台可安装发动机上?

Ruby on rails 如何将一台发动机安装在轨道上的另一台可安装发动机上?,ruby-on-rails,Ruby On Rails,目前,在config/routes.rb的主应用程序中安装了两个引擎,如下所示 装载firstEngine::Engine,位于:'/search'和 挂载secondEngine::引擎,位于:'/add' 我想将第一台发动机的安装从应用程序移动到第二台发动机。换句话说,如何将一台发动机安装在另一台可安装发动机上?非常感谢您的帮助。我也一直在尝试将一台发动机安装在另一台发动机上,这就是我目前得到的: #file myapp/config/routes.rb mount Bar::Engine

目前,在config/routes.rb的主应用程序中安装了两个引擎,如下所示

装载firstEngine::Engine,位于:'/search'和 挂载secondEngine::引擎,位于:'/add'


我想将第一台发动机的安装从应用程序移动到第二台发动机。换句话说,如何将一台发动机安装在另一台可安装发动机上?非常感谢您的帮助。

我也一直在尝试将一台发动机安装在另一台发动机上,这就是我目前得到的:

#file myapp/config/routes.rb
mount Bar::Engine => "/bar"

#file myapp/Gemfile
gem 'bar', :path => '../bar'
项目结构如下:

我的项目文件夹 | +-myapp | +-酒吧 | +-巴兹

我在将Baz安装到吧台顶部时遇到了麻烦,只是添加了

#file bar/Gemfile
gem: 'baz', :path => '../baz'
不工作,我得到了未初始化的常量Baz::Engine错误

这样解决:

#file bar/lib/engine.rb
require File.join(File.expand_path('../../../baz/lib', File.dirname(__FILE__)), 'baz')
现在baz.rb正在抱怨:无法加载这样的文件-baz/engine 所以我改变了:

#file baz/lib/baz.rb
require_relative './baz/engine' # instead of require 'baz/engine'
现在我的/bar/baz路线正在运行。 这是一个相当丑陋的解决办法,我将寻找更清洁的解决方案,但我的两个可安装插件都在开发中,我只从源代码使用它们,所以我暂时不介意。希望这至少有点帮助。如果您找到更好的解决方案,请告诉我

#file baz/lib/baz.rb
require_relative './baz/engine' # instead of require 'baz/engine'