2011-12-06 9 views
5

私のアプリにはRails Engineがあります。Railsエンジンのルートへのアクセスを制限しています...制約が働かない

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

constraints EditorRestrictor do 
    Mercury::Engine.routes 
end 

をしかし、エンジンのルートはまだアクセスできます:私はので、私は制約を使用してみましたエンジンが提供するURLへのアクセスを制限しようとしている

Mercury::Engine.routes 

:ここではそのフックが私のroutes.rbファイルにあります。私はちょうど私のアプリを再起動しましたが、それは問題ではありませんでした。何か案は?

答えて

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 
関連する問題