2017-01-13 14 views
1

これは「ベストプラクティス」ではないかもしれないが、これは一時的な修正/実験のようなものである。私はレールコンソールを使ってHeroku上のレコードを更新しようとしていますが、保存するたびにロールバックします。レイルズコンソールでHerokuレコードを更新する

UserAdmin = User.find_by(email: "[email protected]") 
UserAdmin.admin = true 
UserAdmin.save 

結果は次のとおりです。私はこの間違っについて

(0.6ms) BEGIN 
    (0.6ms) BEGIN 
    User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."email") = LOWER('[email protected]') AND "users"."id" != 3) LIMIT 1 
    User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."email") = LOWER('[email protected]') AND "users"."id" != 3) LIMIT 1 
    User Exists (0.5ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."user_name") = LOWER('example') AND "users"."id" != 3) LIMIT 1 
    User Exists (0.5ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."user_name") = LOWER('example') AND "users"."id" != 3) LIMIT 1 
    (0.4ms) ROLLBACK 
    (0.4ms) ROLLBACK 

行くのだろうか?レコードがHerokuに保存されていない特別な理由はありますか?

+0

何かがありますねじれている。あなたのテーブルに悪いデータがあるか、検証がうまくいきません。モデルを追加し、 'User.where(email:" [email protected] ")。count'を実行してテーブル内のデータを調べて、重複しているかどうか確認してください。あなたの命名は非常に間違っています。大文字で始まる識別子は、 'snake_case'にクラススティックを命名しない限り、ルビの定数です。 – max

+1

'UserAdmin.save! 'で試してみてください(bangは例外を発生させます)。 – mmichael

答えて

1

あなたがしなければあなたは何を得るのです:

user_admin = User.find_by(email: "[email protected]") 
    user_admin.admin = true 
    user_admin.valid? 
    user_admin.errors.full_messages 

を(私はこれはまだ答えていない実現が、それはコメントとしてあまりにも乱雑になるので、このようにそれを投稿しました。)

+0

これは私が必要としたものを私に与えましたが、技術的には答えは分かりませんでした。私はレコードのパスワードを提供しなければならなかった、私はそれがHerokuのものかどうか、または私はpassword_digestを持っているが、パスワードが必要だったかどうか分からない。 – tfantina

関連する問題