我尝试使用我的引擎的命名空间路由。 我的应用程序的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
给我相同的/用户/通知/消息路径。
为什么呢? 感谢名单。
答案 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