SORU
1 ŞUBAT 2011, Salı


Uzanan SessionsController JSON kullanarak kimlik doğrulaması için Hazırlamak

Bir iphone uygulaması için raylar API oluşturmaya çalışıyorum. Vasiyet ince işleri için oturumları ile web arayüzü ama ihtiyacım var etmek, yaratmak ve yok etmek oturumları kullanarak REST API ve kullanmak istiyorum JSON yerine sahip bir YAZI oturumları ve denetleyici olması için ayrıştırma HTML ve anlaşma ile bir yönlendirme.

Böyle bir şey yapabileceğimi düşündüm:

class Api::V1::SessionsController < Devise::SessionsController  
  def create
    super
  end  
  def destroy
    super
  end  
end

ve config/güzergah.rb ekledi:

namespace :api do
  namespace :v1 do
    resources :sessions, :only => [:create, :destroy]
  end
end

komisyon yollar yollar düzgün Kur gösteriyor:

   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"}

I /kullanıcı/seans SONRASI ne zaman her şey gayet iyi çalışıyor. Bazı HTML ve 302.

Şimdi eğer ben /ben/: apı POST

Bilinmeyen eylem ::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'}}"

CEVAP
12 ŞUBAT 2011, CUMARTESİ


Bu sonunda işe yaradı.

class Api::V1::SessionsController < Devise::SessionsController  
  def create  
    respond_to do |format|  
      format.html { super }  
      format.json {  
        warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")  
        render :status => 200, :json => { :error => "Success" }  
      }  
    end  
  end  
  def destroy  
    super  
  end  
end  

Ayrıca değiştirme yolları.rb, sırası önemli olduğunu unutmayın.

devise_for :users, :controllers => { :sessions => "api/v1/sessions" }
devise_scope :user do
  namespace :api do
    namespace :v1 do
      resources :sessions, :only => [:create, :destroy]
    end
  end
end

resources :users

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Angry Paintballer

    Angry Paintb

    8 Ocak 2012
  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010