DeviseのConfirmが効いている状態で、アドミンが他のログインユーザーを作成する場合
- 普通のuser.new部分で confirmed_at を入れてあげればいい。
- Deviseのconfirmableのメール飛ばすロジックはdevise/lib/devise/models/confirmable.rbにある。
- Deviseのconfirmableはconfirmed_atにtimeを入れることで発動する。
user_controller.rb
def create
User.new(user_params)
##省略
end
private
def user_params
confirmed_at = Time.zone.now
params.fetch(:user, {}).permit(:confirmed_at)
end
これでアドミンが作成したユーザのアドレスに認証メールが飛ぶ。