Rails为资源指定url

时间:2015-08-12 21:57:21

标签: ruby-on-rails ruby

我正在编写一个具有令牌资源的应用程序。该资源将具有标准create控制器操作,其中默认URI由rails指定,但我希望更改showdestroy操作,以便我不必提供URI中令牌的id,因为它将从请求头中获取。

这就是我的开始:

scope module: :auth do
  resources :tokens, only: [:show, :create, :destroy]
end

此if课程产生以下URI:

POST   /tokens(.:format)    
GET    /tokens/:id(.:format)
DELETE /tokens/:id(.:format)

但我想要达到的目标是:

POST   /tokens(.:format)
GET    /tokens/info/(.:format)
DELETE /tokens/revoke/(.:format)

我仍然希望这些内容分别映射到控制器操作createshowdestroy。这可以尽可能简洁地完成。

1 个答案:

答案 0 :(得分:1)

是的,你可以:

resources :tokens, only: [:create] do
  collection do 
    get :info, action: :show
    delete :revoke, action: :destroy
  end
end