【发布时间】:2015-12-11 11:55:33
【问题描述】:
我在我的 Rails 应用程序上使用引擎。这实质上意味着应用程序及其引擎可以具有相同名称的路由并且它们不会发生冲突。
所以,我有两种类型的路由,引擎内部和外部路由,它们的名称不同:
带有路线名称:
引擎内部:
redirect_to main_app.books_show_path
引擎外
redirect_to books_show_path
但是我有一个 php 应用程序,它调用 rails 路由发送控制器和它想要去的路由的操作。 所以,我还没有路线名称。 如果路线在引擎外部,我没有遇到问题,因为这可行:
redirect_to (controller: books,action: show)
但是当我想进入引擎路线时,我不知道该怎么做。我需要这样的东西:
redirect_to (controller: books,action: show,path: main_app)
$rake 路由 | grep 书籍
books GET /books(.:format) MiEngine/books#index
Routes for MiEngine::Engine:
books GET /books(.:format) MiEngine/books#index
【问题讨论】:
-
你的引擎有
isolated_namespace吗? -
是的,isolate_namespace MiEngine
标签: ruby-on-rails rails-engines