現在のサブドメインの種類に応じてルート(具体的には、ルート)を指定しようとしています。サブドメインがsubdomain
の場合は、controller#action1
にルーティングします。サブドメインが存在する場合はcontroller#action2
になりますが、ではなく、subdomain
またはwww
です。サブドメインがwww
または指定されていない場合はcontroller#action3
になります。複数のサブドメインのルーティング
Iは、次の試み:
予想通りsubdomain.myapp.com
と
other.myapp.com
に作業の両方をブラウズ
MyApp::Application.routes.draw do
scope :constraints => { :subdomain => "subdomain" } do
match "/" => "controller#action1"
end
scope :constraints => lambda {|req| req.subdomain.present? && !%w(subdomain www).include?(req.subdomain) } do
match "/" => "controller#action2"
end
root :to => "controller#action3"
end
(それぞれ、action1
とaction2
に行きます)。私はmyapp.com
またはwww.myapp.com
しようとすると、しかし、私が手:私はrake routes
を実行すると
Routing Error
No route matches [GET] "/"
が、私は
/{:subdomain=>"subdomain", :controller=>"controller", :action=>"action1"}
/{:controller=>"controller", :action=>"action2"}
root/{:controller=>"controller", :action=>"action3"}
だから私は(推測)推測その/
のための2つのルートがありますので、ドン」を参照してくださいサブドメインを指定すると、フォールバックルートは2番目のものと一致しようとしますが、制約を満たさず失敗します。これを正しく動作させるには何ができますか?