2015-08-12 2 views
0

Я пишу приложение, имеющее ресурс токена. У ресурса будет стандартное действие контроллера create с URI по умолчанию, заданное рельсами, однако я хочу изменить действия и destroy, так что мне не нужно указывать идентификатор токена в URI, потому что он будет достигнут из заголовков запроса.Rails указать URL-адрес ресурса

Это то, что я начал с:

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

Это если, конечно, дает следующие идентификаторы 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 соответственно. Это можно сделать как можно более лаконично.

ответ

1

Да, вы можете:

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

отлично! благодаря – tomasbasham