Маршрутизация на основе поддоменов в Rails 3.1 - PullRequest
2 голосов
/ 10 сентября 2011

Я сейчас получаю сообщение об ошибке:

No route matches [GET] "/tenant_admin"

Я использовал что-то вроде:
http://example.com/accounts/1/tenant_admin

но сейчас я передаю идентификатор учетной записи как поддомен;
http://AccountName.example.com/

Можно ли заставить URL работать так:
http://AccountName.example.com/tenant_admin?


Routes.rb

  get "log_out" => "sessions#destroy", :as => "log_out"
  get "log_in" => "sessions#new", :as => "log_in"
  get "sign_up" => "users#new", :as => "sign_up"


  resources :users
  resources :sessions
  resources :password_resets

  resources :accounts do
    resources :tenant_admin
  end

  constraints(Subdomain) do
    match '/' => 'accounts#show'
  end

  root :to => "welcome#index"

1 Ответ

4 голосов
/ 11 сентября 2011

Вы должны указать маршруты своих арендаторов под resources :accounts и constraints(Subdomain).Я не рекомендую использовать копирование и вставку, но вместо этого лямбда.

tenant_routes = lambda do
  resources :tenant_admin
end

resources :accounts do
  tenant_routes.call
end

constraints(Subdomain) do
  tenant_routes.call
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...