2011-12-06 10 views
5

Tengo un motor Rails en mi aplicación. Aquí está su gancho en mi archivo routes.rb:Restringir el acceso a las rutas de un Rails Engine ... las restricciones no funcionan

Mercury::Engine.routes 

Estoy tratando de restringir el acceso a las direcciones URL proporcionadas por el motor, así que traté mediante restricciones:

class EditorRestrictor 
    def self.matches?(request) 
    false 
    end 
end 

constraints EditorRestrictor do 
    Mercury::Engine.routes 
end 

Pero rutas del motor siguen siendo accesibles. Reinicié mi aplicación por las dudas, pero no importó. ¿Algunas ideas?

Respuesta

1

Normalmente desea montar rutas para sus motores de la siguiente manera:

Rails.application.routes.draw do 
    mount Mercury::Engine => '/mercury' 

    # If you wanted routes mounted on root 
    # mount Mercury::Engine => '/'  
end 

Así que si quieres añadir restricciones, se podría decir:

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