結論
Userモデルから
password_digestカラム
を削除すると解消する。
起こったこと
Deviseを入れた後、コンソールからのUser.firstやUser.all等が下記のようにArgmentErrorになる
irb(main):001:0> User.all
User Load (1.8ms) SELECT "users".* FROM "users" LIMIT ? [["LIMIT", 11]]
Traceback (most recent call last):
ArgumentError (wrong number of arguments (given 0, expected 1))
irb(main):002:0> User.find(1)
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
Traceback (most recent call last):
下記のissueにある通り、DeviseでUserモデルをセットアップした時に、既にUserモデルに
password_digestカラム
が存在すると、上記のエラーが出ます。
参考
https://github.com/plataformatec/devise/issues/
今回は既にUserモデルを作っていて、後からDeviseを導入したのでおそらくDeviseの
encrypted_passwordカラム
とバッティングして発生していると思われる。
なので、Userモデルから
password_digestカラム
を削除すると解消しました。