Ruby on rails 限制对Rails引擎的访问';s路线…约束不起作用
我的应用程序中有一个Rails引擎。这是我的Ruby on rails 限制对Rails引擎的访问';s路线…约束不起作用,ruby-on-rails,ruby,routing,rails-engines,Ruby On Rails,Ruby,Routing,Rails Engines,我的应用程序中有一个Rails引擎。这是我的routes.rb文件的钩子: Mercury::Engine.routes 我试图限制对引擎提供的URL的访问,因此我尝试使用约束: class EditorRestrictor def self.matches?(request) false end end constraints EditorRestrictor do Mercury::Engine.routes end 但引擎的路线仍然可以到达。我重新启动了我的应用程
routes.rb文件的钩子:
Mercury::Engine.routes
我试图限制对引擎提供的URL的访问,因此我尝试使用约束:
class EditorRestrictor
def self.matches?(request)
false
end
end
constraints EditorRestrictor do
Mercury::Engine.routes
end
但引擎的路线仍然可以到达。我重新启动了我的应用程序以防万一,但这并不重要。有什么想法吗?通常,您会为发动机安装如下路线:
Rails.application.routes.draw do
mount Mercury::Engine => '/mercury'
# If you wanted routes mounted on root
# mount Mercury::Engine => '/'
end
因此,如果要添加约束,可以说:
Rails.application.routes.draw do
mount Mercury::Engine => '/mercury', constraints: {}
end