【发布时间】:2021-03-19 21:09:19
【问题描述】:
我正在使用Rails 6、React Devise & GraphQl & devise-token_authenticatable 进行身份验证的应用程序。
我正在尝试在用户成功确认其电子邮件后对其进行确认。在搜索并找到一些可能的答案后,我尝试了这个: 在设计中>> Confirmation_controller.rb
class Devise::ConfirmationsController < DeviseController
protected
# The path used after confirmation.
def after_confirmation_path_for(resource_name, resource)
if signed_in?(resource_name)
redirect_to app_root_url
else
resource.confirm!
redirect_to "#{request.base_url}/app/login", notice: "Email confirmed!"
end
end
end
但这并没有按预期工作。
我还尝试了以下方法,但没有任何运气:
def after_confirmation
self.confirm!
end
有什么建议吗? 感谢您的宝贵时间
【问题讨论】:
-
您实际上不需要做任何事情。只需确保您已添加
:confirmable以在您的模型中进行设计,运行迁移即可。说明非常简单 - github.com/heartcombo/devise/wiki/… -
谢谢!我确实在用户模型中启用了
:confirmable。由于我的设置 (devise_for :users, skip: :sessions, controllers: { confirmations: 'users/confirmations' }),我的 routes.rb 文件中有skip: :sessions除外。这可能与它有关。我必须找到一种不同的方法来完成这项工作。
标签: ruby-on-rails devise devise-confirmable