我正在将Rails应用程序(比如appA)转换为引擎,以便我可以将它挂钩到另一个Rails应用程序(比如appB)。但是 appA必须单独作为Rails应用程序运行。那是因为顾客可以购买
关注rails oficial guide我做了(其中包括)更改后的内容:
Rails.application.routes.draw
中将ActionPlan::Engine.routes.draw
更改为routes.rb
。创建了lib/action_plan/engine.rb
,内容如下所示:
module ActionPlan
class Engine < ::Rails::Engine
isolate_namespace ActionPlan
end
end
现在,当我运行rails s
时,我得到/action_plan/config/routes.rb:1:in '<top (required)>': uninitialized constant ActionPlan::Engine (NameError)
。
我想我应该以某种方式在ActionPlan::Engine
文件中初始化application.rb
,但我不知道它是怎么回事。
那么可以在appA中构建一个app / engine吗?如果是,我该如何克服这个问题?
答案 0 :(得分:0)
经过一些研究并与一些朋友交谈后,我发现使用rails无法做出这样的想法,但你可以创建另一个rails应用程序(比如说appC)并仅用它来运行你的引擎,即appC是一个愚蠢的rails应用程序,仅用于运行引擎。