2016-08-03 51 views
0

我正在使用Ruby on Rails中的RESTful API。使用寶石jsonapi資源。Rails路由/我應該指向登錄用戶的/ account /:id

我想執行一條路線,如/me。它應該始終路由到/account/:id,其中id是當前登錄用戶的ID。

因此,/account/:id/tasks應該與/me/tasks相同。

有人可以指點我正確的方向嗎?

回答

2

你可以做這樣的事情:

namespace :me do 
    get '/', to: 'accounts#show' 
    get '/tasks', to: 'tasks#index' 
end 

然後,在你的控制器,你獲取當前用戶(與current_user如果您使用的設計)

+0

當我那樣做,'/我/任務'將返回所有任務,而不是我的任務。 'jsonapi-resources' gem爲我生成路線,如下所示: 'get「accounts /:account_id/tasks」,to:「tasks#get_related_resources」,relationship:'tasks',source:'accounts'' 我希望我可以重新使用這些。但是...它抱怨'account_id'參數丟失。 – Mtihc

+0

我通過向基礎控制器類添加'before_action'來解決這個問題。該操作將'account_id'參數設置爲當前登錄的用戶。現在我可以重新使用寶石的自動生成路線。萬歲! – Mtihc

+1

是的,這就是我寫的檢索當前用戶的意思。很高興它的作品。 – Aeradriel

相關問題