我可以在routes.rb中使用不同的命名空间安装两次Rails引擎吗?

时间:2015-10-29 14:29:30

标签: ruby-on-rails ruby ruby-on-rails-4

我尝试使用我的引擎的命名空间路由。 我的应用程序的routes.rb文件:

Rails.application.routes.draw do
  namespace :admin, admin_scope: true do
    mount Notifications::Engine, at: '/notifications'
  end
  namespace :user, user_scope: true do
    mount Notifications::Engine, at: '/notifications'
  end
end

我的引擎的routes.rb文件:

Notifications::Engine.routes.draw do
  get 'messages' => 'messages#index', as: 'messages'
end

我去了

user_notifications.messages_path

将打印/ user / notifications / message和

admin_notifications.messages_path

将打印/ admin / notifications / messages。但

admin_notifications.messages_path

给我相同的/用户/通知/消息路径。

为什么呢? 感谢名单。

1 个答案:

答案 0 :(得分:1)

很确定你在寻找:

Rails.application.routes.draw do
  namespace :admin, admin_scope: true do
    mount Notifications::Engine => '/notifications', as: 'admin_notifications'
  end
  namespace :user, user_scope: true do
    mount Notifications::Engine => '/notifications', as: 'user_notifications'
  end
end