私はdevise gemを使用していますが、ユーザーの作成中に確認をスキップしたいです! たとえば、確認メールをスキップします。
User.create(:first_name => "vidur", :last_name => "punj").confirm!.skip_confirmation!
ただし、確認のみをスキップし、確認メールの送信をスキップしません。両方をスキップするアイデアを誰かに教えてもらえますか。
私はdevise gemを使用していますが、ユーザーの作成中に確認をスキップしたいです! たとえば、確認メールをスキップします。
User.create(:first_name => "vidur", :last_name => "punj").confirm!.skip_confirmation!
ただし、確認のみをスキップし、確認メールの送信をスキップしません。両方をスキップするアイデアを誰かに教えてもらえますか。
skip_confirmation を呼び出す必要があります。レコードを保存する前に。
試す
user = User.new(:first_name => "blah")
user.skip_confirmation!
user.save
Got the solution:
@user=User.new(:first_name => "vidur", :last_name => "punj")
@user.skip_confirmation!
@user.confirm!
@user.save
skip_confirmation! の前に User.create を呼び出しています。後で User.new と user.save を呼び出す必要があります。
試す
user = User.new(:first_name => "vidur", :last_name => "punj")
user.skip_confirmation!
user.save!
Confirmed_at フィールドを設定する
User.create!(confirmed_at: Time.now, email: 'test@example.com', ...)
Seeds.rb で便利
User.create_with(name: "Mr T", company: "Comp X", password: 'rubyrubyruby', password_confirmation: 'rubyrubyruby', confirmed_at: Time.now).find_or_create_by!( email: 'test@example.com')
skip_confirmation!
デバイスコントローラーをまだ生成していないため、コントローラーのどこにメソッドを書き込むべきか混乱している場合は、次のようにします。
User
これをモデルに書きます
before_create :my_method
def my_method
self.skip_confirmation!
end
今すぐ使用してください:
user = User.new(:first_name => "Gagan")
user.save
確認がまったく必要ない場合は:confirmable
、モデルのシンボルを削除できます。