【问题标题】:Routing redirection路由重定向
【发布时间】:2011-08-19 07:51:41
【问题描述】:

我正在使用 Ruby on Rails 3,我想将对资源 (URL) 的所有请求重定向到另一个资源。

我有以下资源:

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

    namespace :users do
      resources :user_admins
    end
end

我想做的是将所有对&lt;my_app_name&gt;/users/user_admins/&lt;id&gt; 的请求重定向到&lt;my_web_site_name&gt;/users/&lt;id&gt;我该怎么做?

注意:我使用的是单表继承方法,因此&lt;id&gt; 值不会改变行为。也就是说,&lt;id&gt; 值将从 RoR 框架自动处理,并且当 URL 为 &lt;my_app_name&gt;/users/user_admins/&lt;id&gt;&lt;my_web_site_name&gt;/users/&lt;id&gt; 时,它将引用相同的资源。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 redirect routing


    【解决方案1】:

    在你的 routes.rb 中试试这个:

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

    【讨论】:

      【解决方案2】:

      您可能希望避免使用命名空间,并像这样玩:

      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"}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-15
        • 2021-07-20
        • 1970-01-01
        • 2021-09-09
        • 1970-01-01
        • 2017-08-10
        • 1970-01-01
        • 2021-01-23
        相关资源
        最近更新 更多