2011-05-05 241 views
1

我正在使用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>時,它將引用相同的資源。

回答

0

您可能希望避免使用一個命名空間,並播放這樣的:

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

在你的routes.rb試試這個:

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