如何交换路线的动作和参数id

时间:2012-03-27 04:38:33

标签: ruby-on-rails routes

我有一个名为“go”的网址重定向控制器。它可以重定向主题模型和公司模型。 route.rb看起来像这样:

  resources :go, only: [] do
    member do
      get :topic
      get :company
    end
  end

目前它产生以下路线:

topic_go GET      /go/:id/topic(.:format)        go#topic
company_go GET    /go/:id/company(.:format)      go#company

有没有一种方法可以让路线像这样:

/go/topic/:id
/go/company/:id

1 个答案:

答案 0 :(得分:1)

只需完全移除member块,然后在resources :go上方添加这两行。

get '/go/topic/:id' => 'go#topic', :as => :topic_go
get '/go/company/:id' => 'go#company', :as => :company_go