5

私のアプリにはRailsエンジンがあります。私のroutes.rbファイルへのフックは次のとおりです。

Mercury::Engine.routes

エンジンが提供する URL へのアクセスを制限しようとしているので、制約を使用してみました。

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

constraints EditorRestrictor do
  Mercury::Engine.routes
end

ただし、エンジンのルートには引き続きアクセスできます。念のためアプリを再起動しましたが、問題ありませんでした。何か案は?

4

1 に答える 1

2

通常、次のようにエンジンのルートをマウントします。

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
于 2015-02-21T17:38:08.573 に答える