Deviseでユーザー登録をさせたい場合に、ユーザー登録メールを送信してごにょごにょみたいなことをしたいのだけれど、まだそこは置いといて、とりあえずシードでユーザーをDBに投入したところ、ログイン画面でログインしようとしたところ、「本登録してください」と怒られた。
本登録処理をするにはメールを受けないと無理じゃないか?
どうすればいいんだろうか?と思ったらちゃんとskip_confirmation!というメソッドがあった。
それを使えばよい。
user = User.create!( :email => "hoge@email.com", :password => "hogehoge" ) user.skip_confirmation!
これでいけるんだろうと思っていたら、ダメだった。
なんとuser.saveしないといけないと。skip_confirmation!っていう破壊的な感じがするから保存もしてくれるんだと思ったらしてくれないなんてびっくりだ!
user = User.create!( :email => "hoge@email.com", :password => "hogehoge" ) user.skip_confirmation! user.save!
これでよい。