0

我的应用程序有一个用户模型,并且它已经有效地使用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 查询的结果: MySQL 查询

这是通过 rails 进行相同查询的结果(第一次): Rails 查询

这是通过 rails 进行相同查询的结果(第一次之后): Rails 查询2

4

1 回答 1

0

看起来您的查询正在自动解释。请参阅此处的文档http://guides.rubyonrails.org/active_record_querying.html#automatic-explain

于 2012-05-05T14:00:12.867 回答