gpt4 book ai didi

ruby-on-rails - Rails - 使用 devise_token_auth 设计不发送确认电子邮件

转载 作者:行者123 更新时间:2023-12-02 09:25:06 24 4
gpt4 key购买 nike

我从事的项目(ruby '2.2.0',rails '4.2.3')同时使用标准设计用户管理(用于网页)和 devise_token_auth(用于服务的 API 部分)。一切正常,除非我

include DeviseTokenAuth::Concerns::User

在模型/user.rb 中。然后在用户注册后发送确认电子邮件不会发生。

如果能解决这个问题,我将不胜感激。

我的模型/user.rb:

class User < ActiveRecord::Base
# Include devise modules.
devise :invitable, :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:confirmable, :omniauthable

include DeviseTokenAuth::Concerns::User

enum role: [:user, :vip, :admin]
after_initialize :set_default_role, :if => :new_record?

def set_default_role
self.role ||= :user
end
end

路线.rb:

Rails.application.routes.draw do
# standard devise routes available at /users
# NOTE: make sure this comes first!!!
devise_for :users

# token auth routes available at /api/v1/auth
namespace :api do
scope :v1 do
mount_devise_token_auth_for 'User', at: 'auth'
end
end
end

最佳答案

我遇到了和你一样的问题。这个解决方法帮助了我

class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:confirmable

include DeviseTokenAuth::Concerns::User

after_create :send_confirmation_email, if: -> { !Rails.env.test? && User.devise_modules.include?(:confirmable) }

private
def send_confirmation_email
self.send_confirmation_instructions
end
end

关于ruby-on-rails - Rails - 使用 devise_token_auth 设计不发送确认电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com