params [:token]没有用devise设置

时间:2011-11-01 07:17:00

标签: ruby devise token params

我正在尝试实现Devise,但它是新手。

当我请求... / api / v1 / projects.json时,我得到'未定义的方法管理员?为nil:NilClass',我假设发生因为没有设置params [:token]:

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

有没有人知道如何/在哪里设置params [:token]和Devise?

1 个答案:

答案 0 :(得分:0)

显然我误解了文档,并通过URL传递令牌: ... / API / V1 / projects.json?标记= s28seWhpPVWkhMU7sszM

问题解决了,我想。