2011-12-06 7 views
5

Uygulamamda Rails Engine var.Rails Engine yollarına erişimi kısıtlama ... kısıtlamaları çalışmıyor

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

constraints EditorRestrictor do 
    Mercury::Engine.routes 
end 

Ama motorun yolları hala erişilebilir: Ben bu yüzden kısıtlamaları kullanarak çalıştı motor tarafından sağlanan URL'lerin erişimi kısıtlamak için çalışıyorum

Mercury::Engine.routes 

: İşte kanca benim routes.rb dosyasına bu. Uygulamamı sadece yeniden başlattım ancak önemli değildi. Herhangi bir fikir?

cevap

1

Genellikle bu gibi motorları için yolları monte ediyorum:

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

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

Yani kısıtlamaları eklemek isterseniz, diyebilirsiniz:

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