我有两个Rails应用程序(使用rails 3.0.7),分别称为“blog”和“auth”。我想将“auth”从“blog”中挂载,以便我可以运行“blog”应用程序,并将某些请求路由到“auth”应用程序。
看起来我需要嵌入或创建一个“engine”,但我不确定哪个是正确的。
如何在“blog”应用程序内嵌入“auth”应用程序?
看起来我需要嵌入或创建一个“engine”,但我不确定哪个是正确的。
如何在“blog”应用程序内嵌入“auth”应用程序?
http://guides.rubyonrails.org/engines.html
http://api.rubyonrails.org/classes/Rails/Engine.html
将Rails可安装引擎嵌入到Rails应用程序中,请遵循以下一般步骤 -gem '<engine name>', :path => "<absolute path to the Rails mountable engine project>"
mount <engine name>::Engine, :at => "/<engine name>"
在一个 Ruby 实例中定义两个 Rails 应用程序会导致 RuntimeError: You cannot have more than one Rails::Application
错误,但是在 这个 提交之后已经发生了变化。
这个变化还未发布在 4.0.0 中,但将被包含在更新版本中。(> 4.1.0.beta)
有关更多信息,请查看PR上的讨论。
从我所了解的情况来看,您可能不需要拥有两个 Rails 应用程序。您应该尝试在 Rails::Engine
中提取所需的功能。