Ruby on rails 限制对Rails引擎的访问';s路线…约束不起作用

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 但引擎的路线仍然可以到达。我重新启动了我的应用程

我的应用程序中有一个Rails引擎。这是我的
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