Deviseのユーザーを`rake db:seed`で追加する
db/seeds.rb
にUser.create
でencrypted_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]