2011-05-05 195 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'