db/seeds.rbUser.createencrypted_passwordを与えてDeviseのユーザーを作ろうとしたら失敗した。

原因

passwordが存在しないためにvalidationに引っかかってしまってる。

対策

passwordを平文で打てば解決するらしいけど、平文のパスワードは使いたくないのでバリデーションの方を無効化してしまいましょう。

User.new(email: someone@example.com).save(validate: false)

でOKです。encrypted_passwordの取得方法は色々あるでしょうが、自分の場合は一度Deviseで作ってからそれをrails console使ってUser.first.encrypted_passwordを取ってきました。

参考

[Cannot create Devise account using rake db:seed for Rails 3.0 – Stack Overflow][1]