我正在尝试使用以下gem 'simple_token_authentication'但是我收到以下错误undefined method acts_as_token_authentication_handler_for' for DevicesController:Class
this问题表明这是缺少gem问题但是simple_token_authentication在我的gemfile中我已经运行了bundle update
和bundle install
确认安装了gem的版本1.6.0并重新启动了服务器。
有点困惑的帮助赞赏!
控制器
class DevicesController < ApplicationController
acts_as_token_authentication_handler_for User
def index
@devices = GpsDevice.all
render json: @devices
end
end
用户模型
class User < ActiveRecord::Base
acts_as_token_authenticatable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
route.rb
Rails.application.routes.draw do
devise_for :users
match 'trackers', to: 'devices#index', via: 'get', :defaults => { :format => 'json' }
end
可能或可能不相关我正在使用rails-api而不是rails
谢谢!
答案 0 :(得分:3)
将此添加到您的ApplicationController:
extend SimpleTokenAuthentication::ActsAsTokenAuthenticationHandler
或者使用ApplicationController :: Base。