параметры [: токен] не установлены с помощью devise - PullRequest
1 голос
/ 01 ноября 2011

Я пытаюсь реализовать Devise, но плохо знаком с ним.

Когда я запрашиваю ... / api / v1 / projects.json, я получаю неопределенный метод admin? для 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

Кто-нибудь знает, как / где устанавливать параметры [: token] с помощью Devise?

1 Ответ

0 голосов
/ 04 ноября 2011

Очевидно, я неправильно понял документацию, и токен передается через URL: ... / api / v1 / projects.json? Token = s28seWhpPVWkhMU7sszM

Проблема решена, я думаю.

...