Перенаправление маршрутизации - PullRequest
1 голос
/ 05 мая 2011

Я использую Ruby on Rails 3 и хочу перенаправить все запросы к ресурсу (URL) на другой ресурс.

У меня есть следующие ресурсы:

<My_app_name>::Application.routes.draw do
    resources :users

    namespace :users do
      resources :user_admins
    end
end

Я хотел бы перенаправить все запросы на <my_app_name>/users/user_admins/<id> на <my_web_site_name>/users/<id>. Как я могу это сделать?

Примечание : я использую подход Наследование отдельных таблиц , так что значение <id> не изменит поведения. Таким образом, значение <id> будет автоматически обрабатываться из инфраструктуры RoR, и оно будет ссылаться на один и тот же ресурс для обоих при URL-адресе <my_app_name>/users/user_admins/<id> или <my_web_site_name>/users/<id>.

.

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Вы можете отказаться от использования пространства имен и воспроизводить его так:

scope "users" do
  resources "user_admins", :controller => "users"
end

Вы получите следующие маршруты:

    user_admins GET    /users/user_admins(.:format)          {:action=>"index", :controller=>"users"}
                POST   /users/user_admins(.:format)          {:action=>"create", :controller=>"users"}
 new_user_admin GET    /users/user_admins/new(.:format)      {:action=>"new", :controller=>"users"}
edit_user_admin GET    /users/user_admins/:id/edit(.:format) {:action=>"edit", :controller=>"users"}
     user_admin GET    /users/user_admins/:id(.:format)      {:action=>"show", :controller=>"users"}
                PUT    /users/user_admins/:id(.:format)      {:action=>"update", :controller=>"users"}
                DELETE /users/user_admins/:id(.:format)      {:action=>"destroy", :controller=>"users"}
0 голосов
/ 05 мая 2011

Попробуйте это в ваших маршрутах.rb:

match 'users/user_admins/:id' => 'users#show'
...