Devise - email更新時に確認メールを送る(reconfirmable)
必要事項(4点)
confirmable
モジュールがセットされていること
/app/models/user.rb
class User < ActiveRecord::Base
#...
devise :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
#...
reconfirmable
が有効になっていること
/config/initializers/devise.rb
Devise.setup do |config|
#...
config.reconfirmable = true
#...
データベースにunconfirmed_email
コラムが存在すること
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# email :string default(""), not null
# encrypted_password :string default(""), not null
# reset_password_token :string
# reset_password_sent_at :datetime
# remember_created_at :datetime
# sign_in_count :integer default(0), not null
# current_sign_in_at :datetime
# last_sign_in_at :datetime
# current_sign_in_ip :inet
# last_sign_in_ip :inet
# created_at :datetime
# updated_at :datetime
# confirmation_token :string
# confirmed_at :datetime
# confirmation_sent_at :datetime
# admin :boolean default(FALSE)
# username :string
# provider :string
# uid :string
# unconfirmed_email :string
#
ユーザーに現在メール確認待ちの状態であることを知らせること
- if devise_mapping.confirmable? && resource.pending_reconfirmation?
.alert.alert-warning
Currently waiting confirmation for: #{resource.unconfirmed_email}
confirmable
モジュールがセットされていること/app/models/user.rb
class User < ActiveRecord::Base
#...
devise :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
#...
reconfirmable
が有効になっていること/config/initializers/devise.rb
Devise.setup do |config|
#...
config.reconfirmable = true
#...
unconfirmed_email
コラムが存在すること# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# email :string default(""), not null
# encrypted_password :string default(""), not null
# reset_password_token :string
# reset_password_sent_at :datetime
# remember_created_at :datetime
# sign_in_count :integer default(0), not null
# current_sign_in_at :datetime
# last_sign_in_at :datetime
# current_sign_in_ip :inet
# last_sign_in_ip :inet
# created_at :datetime
# updated_at :datetime
# confirmation_token :string
# confirmed_at :datetime
# confirmation_sent_at :datetime
# admin :boolean default(FALSE)
# username :string
# provider :string
# uid :string
# unconfirmed_email :string
#
- if devise_mapping.confirmable? && resource.pending_reconfirmation?
.alert.alert-warning
Currently waiting confirmation for: #{resource.unconfirmed_email}
特定の状況でのみreconfirmable無効にしたい場合
例
#...
def update
@user = User.find(params[:id])
@user.skip_reconfirmation!
if @user.update_attributes(params[:user])
flash[:notice] = "User was successfully updated."
redirect_to edit_admin_user_path(@user)
else
render :edit
end
end
#...
資料
例
#...
def update
@user = User.find(params[:id])
@user.skip_reconfirmation!
if @user.update_attributes(params[:user])
flash[:notice] = "User was successfully updated."
redirect_to edit_admin_user_path(@user)
else
render :edit
end
end
#...
Author And Source
この問題について(Devise - email更新時に確認メールを送る(reconfirmable)), 我々は、より多くの情報をここで見つけました https://qiita.com/mnishiguchi/items/496f3c85455ad688b0e0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .