2012-05-03 4 views
11

Sono sicuro che sto facendo qualcosa di sbagliato qui, ma questo è quello che appare come il mio controller di applicazione:autenticazione base con guide-api

class ApplicationController < ActionController::API                                                   
    include ActionController::HttpAuthentication::Basic                                                  
    include ActionController::MimeResponds                                                     

    http_basic_authenticate_with :name => "joeyjojo", :password => "shabadoo" 
end 

io non riesco a capire il motivo per cui il mio http_basic_authenticate_with è gettando questo errore:

undefined method `http_basic_authenticate_with' for ApplicationController:Class 

Sono sicuro che è qualcosa di semplice, ma non lo vedo. Il MimeResponds sta funzionando bene in altri controller.

+0

Perché ApplicationController ereditato da ActionController :: api? –

+0

Questo sta usando [rails-api gem] (https://github.com/spastorino/rails-api) – thatmiddleway

risposta

4

Se si dispone di un'API Rails, aggiungere questo al controller:

include ActionController::HttpAuthentication::Basic::ControllerMethods

class YourController < ApplicationController 

    include ActionController::HttpAuthentication::Basic::ControllerMethods 
    http_basic_authenticate_with name: "username", password: "passwd123" 

Sto usando Rails 4.2.4 e il mio ApplicationController:

class ApplicationController < ActionController::API