Sto cercando di costruire un API rotaie per un app iPhone. Devise funziona bene per gli accessi tramite l'interfaccia web ma devo essere in grado di creare e distruggere sessioni usando l'API REST e voglio usare JSON invece di dover fare un POST sul controller di sessioni e dover analizzare l'HTML e gestire un reindirizzare.Estendere Devise SessionsController di autenticarsi utilizzando JSON
ho pensato che avrei potuto fare qualcosa di simile:
class Api::V1::SessionsController < Devise::SessionsController
def create
super
end
def destroy
super
end
end
e in config/routes.rb ho aggiunto:
namespace :api do
namespace :v1 do
resources :sessions, :only => [:create, :destroy]
end
end
rake routes mostra i percorsi sono configurato correttamente:
api_v1_sessions POST /api/v1/sessions(.:format) {:action=>"create", :controller=>"api/v1/sessions"}
api_v1_session DELETE /api/v1/sessions/:id(.:format) {:action=>"destroy", :controller=>"api/v1/sessions"}
Quando I POST a/utente/sessioni tutto funziona correttamente. Ho un po 'HTML e un 302.
Ora, se ho posto a/API/v1/sessioni ottengo:
Unknown azione AbstractController :: ActionNotFound
curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://localhost:3000/api/v1/sessions -d "{'user' : { 'login' : 'test', 'password' : 'foobar'}}"
Questo sarà anche lavoro ed è molto più semplice: http://stackoverflow.com/a/22582952/2555008 – Sanjeev