在尝试实施devise jwt时遇到问题。 这是我设计的用户模型:
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable,
:database_authenticatable,
:jwt_authenticatable,
jwt_revocation_strategy: JwtBlacklist
end
这是我的blacklist.rb模型。
class JwtBlacklist < ApplicationRecord
include Devise::JWT::RevocationStrategies::Blacklist
self.table_name = 'jwt_blacklist'
end
这就是我所得到的。
Caused by:
NameError: uninitialized constant User::JwtBlacklist
希望您可以帮到我,我是Rails的新手。 非常感谢。
答案 0 :(得分:6)
请注意,根据include Devise::JWT::RevocationStrategies::Blacklist
文档,include Devise::JWT::RevocationStrategies::Denylist
已替换为devise-jwt
。
答案 1 :(得分:1)
如果要调用模型JwtBlacklist
,则文件名 必须为jwt_blacklist.rb
,以便自动加载程序可以找到它。现在,该名称暗示该模型称为Blacklist
。