我的应用程序中有一个Rails引擎。这是我的routes.rb
文件的钩子:
Mercury::Engine.routes
我正在尝试限制对引擎提供的URL的访问,因此我尝试使用约束:
class EditorRestrictor
def self.matches?(request)
false
end
end
constraints EditorRestrictor do
Mercury::Engine.routes
end
但引擎的路线仍然可以访问。我重新启动了我的应用以防万一,但没关系。有什么想法吗?
答案 0 :(得分:1)
通常你会为你的引擎安装路线:
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