2011-12-06 51 views
5

我的应用中有一个Rails引擎。下面是其钩到我routes.rb文件:限制对Rails引擎的路由的访问...限制不起作用

Mercury::Engine.routes 

我试图限制通过发动机提供的网址,所以我尝试使用约束:

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 

,如果你想添加的限制,你可以说:

回答

1

通常你会安装路径为你的引擎这样

Rails.application.routes.draw do 
    mount Mercury::Engine => '/mercury', constraints: {} 
end