我想获取成功登录用户的令牌,因此我在get_token
中创建了Application Controller
方法:
def after_sign_in_path_for(resource)
if current_user.role.role_type === 'user'
current_user.regenerate_token
@user_token = current_user.token
puts @user_token #logging properly
user_profile_path
else
rails_admin_path
end
end
def get_token
return @user_token
end
现在,我想在我的控制器中获取令牌的值,即Api::V1::CommentController
所以我有我的代码
class Api::V1::CommentController < ApplicationController
def initialize
@http_status = { :status => false }
end
def create
puts get_token #I just want to log this
render :json => @http_response
end
end
使用上面的代码,我在使用POSTMAN测试它时没有获得生成的令牌。我做错了什么?
修改: 我的路线中有这个:
namespace :api do
namespace :v1 do
devise_scope :user do
post 'comment/create' => 'comment#create'
end
end
end
答案 0 :(得分:0)
您正在设置的实例变量仅适用于该特定请求。
只需将方法更改为
即可def get_token
current_user.token
end