Ruby on rails Rails-使用Desive_token_auth进行Desive不发送确认电子邮件
我从事的项目(ruby'2.2.0',rails'4.2.3')既使用标准Desive用户管理(用于网页)又使用Desive_token_auth(用于服务的API部分)。一切正常,除非我Ruby on rails Rails-使用Desive_token_auth进行Desive不发送确认电子邮件,ruby-on-rails,devise,access-token,rails-api,devise-confirmable,Ruby On Rails,Devise,Access Token,Rails Api,Devise Confirmable,我从事的项目(ruby'2.2.0',rails'4.2.3')既使用标准Desive用户管理(用于网页)又使用Desive_token_auth(用于服务的API部分)。一切正常,除非我 include DeviseTokenAuth::Concerns::User 在models/user.rb中。然后在用户注册后发送确认电子邮件 如果能解决这个问题,我将不胜感激 My models/user.rb: class User < ActiveRecord::Base # Inclu
include DeviseTokenAuth::Concerns::User
在models/user.rb中。然后在用户注册后发送确认电子邮件
如果能解决这个问题,我将不胜感激
My models/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
我也有同样的问题。这个变通方法帮助了我
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
class用户{!Rails.env.test?&&User.develope_模块。包括(:confirmable)}
私有的
def发送确认电子邮件
self.send\u确认\u指令
结束
结束
不幸的是,此代码在通过API注册时会发送两次确认电子邮件。
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