Robin,
我目前正在为 Discord OAuth 插件 准备一个拉取请求(PR),主要目的是在 Discourse 中存储更多的 Discord 用户信息。我尝试使用你的 ReviewableUser 模型,以保留实现自动审批的功能。
由于当前实现是异步地为新用户创建审核记录,我需要检查是否已创建此类审核记录并将其清除。
不幸的是,我遇到了一个非常奇怪的 Ruby 错误,不知道你是否遇到过类似情况。
代码如下:
def after_create_account(user, auth)
super
data = auth[:extra_data]
if !user.approved && data[:auto_approve]
user.approved = true
user.approved_by_id = Discourse.system_user.id
if reviewable_user = ReviewableUser.find_by(target: user)
reviewable_user.set_approved_fields!(user, Discourse.system_user)
end
end
end
一旦执行到 ReviewableUser.find_by,就会抛出异常:
*** NameError 异常:错误的常量名称 #<Class:0x000056134e417870>::DiscordAuthenticator
虽然我原本以为自己在 Ruby 方面已经取得了不错的进展,但我不清楚为什么会发生这种情况?
是路径问题吗?我尝试过多种 require 方式,但问题反而变得更复杂了。
这与核心代码中的其他类似模式非常相似。非常感谢任何建议!
如果需要,这是我的仓库地址:discourse-plugin-discord-auth/plugin.rb at master · merefield/discourse-plugin-discord-auth · GitHub