我有一个使用 Sinatra、Datamapper 构建的基本 Ruby 应用程序,并使用 OAuth 进行用户身份验证。当我从 Oauth 服务收到数据时,我将新用户的记录保存在 sqlite3 数据库中。
我不知道该怎么做是如何去验证用户数据库表中不存在用户记录。我可以使用用户的唯一 id (uid) 来交叉检查 uid 是否已存储,但我不确定在哪里执行此操作。
我有 2 个课程和一个/callback路线。User类是 db 模型,Authentication类具有连接到 OAuth的各种方法,以及将调用 Authentication.save 方法的/callback路由。
我应该在Authentication.save方法中检查现有记录并返回布尔值或其他内容吗?在Authentication中创建一个类似于 Authentication.exists 的新方法?(那会是什么样子?)或者我应该在/callback路由中进行检查?
如果这不是 100% 清楚,我深表歉意,我很难描述我的问题,而且我是一个绝对的 Ruby 初学者......