设计:删除确认

Devise: Remove confirmation

我正在使用 ng-token-auth 和 devise-token-auth。

这是我的user.rb

class User < ActiveRecord::Base
  devise :database_authenticatable, :recoverable,
         :validatable, :omniauthable

  include DeviseTokenAuth::Concerns::User
end

我没有列出可确认的信息,但每次我尝试注册时,它都会尝试发送一封确认电子邮件,当我尝试登录时,它说我必须按照电子邮件中的说明进行操作。我怎样才能删除它?我浏览了文档和一些帖子,我认为只有当我在 user.rb 中有 :confirmable 时才会发生这种情况。任何帮助,将不胜感激。谢谢!

很奇怪,您的代码无法正常工作,因为它非常接近 devise_token_auth 文档示例。 然而也许这个 Devise 提示可以帮助您:

将此方法添加到用户模型

protected
def confirmation_required?
  false
end

取自 Devise wiki:https://github.com/plataformatec/devise/wiki/How-To:-Add-:confirmable-to-Users#allowing-unconfirmed-access

希望对你有所帮助!

根据 issue#99 在 devise_token_auth 问题跟踪器中描述的 Confirmable 模块的问题出现在 0.1.30 以下的版本中 所以可能的解决方法是升级 gem 版本,它应该可以工作。 0.1.30 及以下版本的其他修复是实际跳过确认回调

before_save -> { skip_confirmation! }

P.S。我觉得还是不要因为评论区删我之前的回答比较好