如何从 rails 引擎获取主机路由?

How to get host routes from a rails engine?

我有一个 rails 引擎,它有路由、视图、模型和控制器插入主机应用程序。

我像这样在主机路由中安装引擎:

mount HelpCenter::Engine, at: "/help_center"

当我转到引擎提供的视图(它使用主机的布局)时,它在尝试从导航栏(主机路由)解析路由时遇到错误。

如何提供从主机到引擎的路由?

看看How can I make routes from a Rails 3 engine available to the host application?

中的答案

Change config.routes in your engine to:

Rails.application.routes.draw do  # NOT MyEngineName::Engine.routes.draw
  resources :classrooms
end

您需要使用

main_app.route_from_my_host_application

这样引擎会在您的主机路由中找到路径