我正在编写一个具有令牌资源的应用程序。该资源将具有标准create
控制器操作,其中默认URI由rails指定,但我希望更改show
和destroy
操作,以便我不必提供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)
我仍然希望这些内容分别映射到控制器操作create
,show
和destroy
。这可以尽可能简洁地完成。
答案 0 :(得分:1)
是的,你可以:
resources :tokens, only: [:create] do
collection do
get :info, action: :show
delete :revoke, action: :destroy
end
end