我的应用已经有了一个用户模型,到目前为止它已经有效地使用了has_secure_password
。 has_secure_password
需要password_digest
列,这就是我最近的问题。
我想创建一个类型字符串的“角色”列,用于将管理员与用户分开 - 但是在迁移之后,我的password_digest
已损坏,因此每当我尝试在我的应用中使用它时,我都会收到无效的哈希错误。在mysql中一切都很好(password_digest
值没有改变)但在rails控制台中User.first.password_digest
返回的值是这样的:
\#BigDecimal:59d0c60,'0.0',9(18)
此外,除非我从字符串中更改角色的类型,否则它同样搞砸了(尽管像password_digest
一样,无论如何都在mysql中完全没问题)。回滚迁移并删除“角色”列会导致password_digest
恢复正常,就rails控制台而言。
这里发生了什么?
这是我的数据库架构:
这是直接提供给mysql的sql查询的结果:
这是通过rails(第一次)进行相同查询的结果:
以下是通过rails进行相同查询的结果(第一次之后):
答案 0 :(得分:0)
您的查询似乎已自动解释。请参阅此处的文档http://guides.rubyonrails.org/active_record_querying.html#automatic-explain