2

以下はhttp://edgeguides.rubyonrails.org/routing.html#using-rootに従って動作するはずです

ルート.rb

Rails.application.routes.draw do
  scope module: 'admin'  do
    constraints subdomain: 'admin' do
      root to: 'tenants#index'
      resources :tenants
    end
  end
  root to: 'users#index'
  resources :users
end

残念ながら、最初にリストされたルートが引き継がれてしまいます。リストのとおり、admin.xyz.com は tenants#index を起動します。外部ルート to: 'users#index' をソースの順序で最初に移動すると、admin.xyz.com を含むすべてのルート パスになります。

ガイドを正しく読んでいますか?そうです、これは Rails 5.0.0-beta1 のバグかもしれません。

4

2 に答える 2

4

名前空間内にルート パスを作成しようとしている場合 (タイトルには記載されていますが、質問には実際には記載されていません)、次のように実行できます。

namespace(:plan) do
  root controller: :plan, action: :index, as: :root
end

これにより、plan_root_path ヘルパー メソッドが作成されます。名前空間を使用すると、Rails が自動的にパスの前に名前空間を追加することを理解していなかったため、最初は少し混乱しました。そこで、次のようなコードを試してみました。

root controller: :plan, action: :index, as: :plan_root

その結果、 plan_plan_root_path ヘルパー メソッドが作成されましたが、これは必要なものではありません。

「rails 5 名前空間のルート パス」を検索すると、この質問がトップの回答として表示されましたが、名前空間の問題は解決されていないため、この質問にこの回答を追加します。

于 2016-05-31T23:39:34.797 に答える