更新后 Get /users/by-external/ 出现 URL 未找到错误

我已经解决了这个问题

看起来他们更新了代码,如果找不到用户就会抛出错误,所以我必须 rescue 而不是比较是否为 nil?

begin
    resp = client.get("/users/by-external/#{user.id}")
rescue DiscourseApi::NotFoundError => error
    puts error.response.body['errors'].first
    sync_user(user)
else
    resp.response.env.body['user']
end

另外,响应已从
resp['body']['user']
更改为
resp.response.env.body['user']

我最后剩下的问题是,当我调用 client.sync_sso 时,现在会收到内部服务器错误 500

日志显示
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_emails_pkey")

但是,如果我在 rails 终端中使用完全相同的详细信息并运行 client.sync_sso,它运行得非常好

仅供参考,我没有更改上述部分开始再次工作的端点,因此 /users/by-external/ 似乎仍然有效