Deviseユーザーを手動で作成しようとしています。問題は、検証は、を呼び出したときにのみ合格するように見えることですUser.create
。
を呼び出すUser.new
と、結果のユーザーインスタンスは無効になります。残念ながら、その理由はわかりません。
結果のエラーメッセージは、単に「検証に失敗しました:」です。
何が起こっているのか分かりますか?
保存する前にUser.create
電話をかけたいので、使用したくないので、メールが送信されません。#skip_confirmation!
これをデバッグする方法はありますか?スタックトレースを調べてみましたが、うまくいきませんでした。
if user = User.create(params[:user])
user.skip_confirmation!
user.save!
flash[:success] = "New user #{user.email} created."
redirect_to user_root_path
else
flash[:alert] = user.errors
redirect_to user_root_path
end