私のアプリのユーザーモデルがあり、この時点までhas_secure_password
を効果的に使用しています。 has_secure_password
はpassword_digest
の列を必要とし、ここに私の最近の問題があります。新しい列が追加されたときにPassword_Digestに問題が発生しました
私は、管理者とユーザーを分ける文字列型の "役割"列を作成したかったのですが、マイグレーション後に私のpassword_digest
が壊れてしまい、アプリケーションで使用しようとすると無効なハッシュエラーが発生します。 mysqlのすべてが正常であるには(password_digest
値が変更されていない)が、レールにUser.first.password_digest
によって返される値は、の線に沿って何かあるコンソール:、私は文字列から役割の種類を変更しない限り、
\#BigDecimal:59d0c60,'0.0',9(18)
さらにそれを(password_digest
のように、それはMySQLに関係なく完全に問題ありません)。移行をロールバックして「役割」列を取り除くと、password_digest
は、レールコンソールに関する限り通常の状態に戻ります。
ここでは何が起こっていますか?ここで
のMySQLに直接供給SQLクエリの結果です:
は、ここに私のデータベーススキーマですレールを通じて同じクエリの結果(1回目)ここで
です:
レールによる同じクエリの結果(最初の後):
あなたの説明だけであなたの状況をデバッグすることは誰も信じられません...いくつかのコードとテーブル定義を見ることなく文脈が十分ではありません。 –