【发布时间】:2015-03-04 21:36:31
【问题描述】:
我创建了一个 Rails 引擎,并将其安装在主应用程序的 routes.rb 中:
mount OsuAuth::Engine => '/admin'
我想从我的主应用程序中引用引擎中定义的用户路径帮助器,为此我尝试过:
<%= link_to 'Users', osu_auth.users_path %>
但是,这会生成一个到 /users 的路径,而不是 /admin/users 的工作路径。
运行 rake routes 也会输出没有 /admin 命名空间的路由:
users GET /users(.:format) osu_auth/users#index
这对我来说似乎很奇怪。我安装引擎的 /admin 命名空间发生了什么?如何生成正确的路径?
【问题讨论】:
-
您有没有为此找到解决方案或解决方法?
-
我最终使用的解决方法是:
<%= link_to 'Users', "#{osu_auth_path}#{osu_auth.users_path}" %>。在我看来不是很干净,但似乎有效。
标签: ruby-on-rails ruby-on-rails-4 rails-engines