Rails de voies: OBTENEZ sans param :id

Je suis le développement d'une api REST basé sur des rails. Pour utiliser cette api, vous DEVEZ être connecté. À ce propos, j'aimerais créer une méthode me dans mon contrôleur utilisateur qui sera de retour json de l'utilisateur connecté infos.
Donc, je n'ai pas besoin d'un :id être passé dans l'URL. Je veux juste appeler http://domain.com/api/users/me

J'ai donc essayé ceci:

namespace :api, defaults: { format: 'json' } do
  scope module: :v1, constraints: ApiConstraints.new(version: 1, default: true) do
    resources :tokens, :only => [:create, :destroy]
    resources :users, :only => [:index, :update] do

      # I tried this
      match 'me', :via => :get
      # => api_user_me GET    /api/users/:user_id/me(.:format)       api/v1/users#me {:format=>"json"}

      # Then I tried this
      member do
        get 'me'
      end
      # => me_api_user GET    /api/users/:id/me(.:format)            api/v1/users#me {:format=>"json"}

    end
  end
end

Comme vous pouvez le voir, mon itinéraire attend un id, mais je voudrais obtenir quelque chose comme a concevoir. Quelque chose basé sur current_user id. L'exemple ci-dessous:

edit_user_password GET    /users/password/edit(.:format)         devise/passwords#edit

Dans cet exemple, vous pouvez modifier le mot de passe courant sans passer l'id comme un param.

Que je pouvais utiliser une collection à la place d'un membre, mais c'est un sale bypass...

Quelqu'un a une idée?
Merci

InformationsquelleAutor Gozup | 2013-06-12