Kak*_*arz 2 ruby-on-rails devise access-token devise-confirmable rails-api
我在项目(ruby'2.2.0',rails'4.2.3')上工作,它使用标准设计用户管理(用于网页)和devise_token_auth(用于服务的API部分).除非我,一切正常
include DeviseTokenAuth::Concerns::User
Run Code Online (Sandbox Code Playgroud)
在models/user.rb中.然后在用户注册后不发送确认电子邮件.
我很感激这个问题的解决方案.
我的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
Run Code Online (Sandbox Code Playgroud)
routes.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
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题.这种解决方法帮助了我
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1221 次 |
| 最近记录: |