2011-11-01 4 views
1

J'essaye d'implémenter Devise mais nouveau pour cela.params [: jeton] non défini avec l'intention

Lorsque je demande .../api/v1/projects.json, j'obtiens une méthode non définie admin? pour nul: NilClass', qui je suppose arrive parce que params [: token] n'est pas défini:

class Api::V1::ProjectsController < Api::V1::BaseController 
    def index 
    respond_with(Project.for(current_user)) 
    end 
end 

-

class Project < ActiveRecord::Base 
    ... 

    def self.for(user) 
    user.admin? ? Project : Project.readable_by(user) 
    end 
end 

-

class User < ActiveRecord::Base 
    before_save :ensure_authentication_token 

    devise :database_authenticatable, :registerable, :token_authenticatable, 
     :recoverable, :rememberable, :trackable, :validatable, :confirmable 
    ... 

end 

-

class Api::V1::BaseController < ActionController::Base 
    before_filter :authenticate_user 

    respond_to :json 

    private 

    def authenticate_user 
     @current_user = User.find_by_authentication_token(params[:token]) 
    end 

    def current_user 
     @current_user 
    end 

end 

Est-ce que quelqu'un sait comment/où régler params [: token] avec Concevoir?

Répondre

0

Apparemment, j'ai mal compris la documentation, et le jeton est passé à travers l'URL: .../api/v1/projects.json jeton = s28seWhpPVWkhMU7sszM

Problème résolu, je suppose.