是什么原因导致无法从数据库中读取对象的属性?

更强

是的,这是我遇到过的最奇怪的错误。

我的资源中有一个名为hashed_pa​​ssword的字段,其数据类型为字符串。从中什么也看不到。太疯狂了

用户表

id | username | created_at | updated_at | hashed_password

示例数据

37 | john harris | 2013-09-24 |  2013-09-24 | eba082ff45517c06b

用户索引

<% @users.each do |user| %>
  <tr>
    <td><%= user.id %></td>
    <td><%= user.username %></td>
    <td><%= user.password.inspect %></td>
    <td><%= user.hashed_password.inspect %></td>
    <td><%= user.created_at %></td>
    <td><%= user.updated_at %></td>
    <td><%= link_to 'Show', user %></td>
    <td><%= link_to 'Edit', edit_user_path(user) %></td>
    <td><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>

html

1个

约翰·哈里斯

2013-09-24

2013-09-24

它位于数据库中,但无法读取。好奇怪 它仅以nil的形式存在。

与其他列唯一的不同是它是通过编程设置的。这是用户控制器:

require "digest/sha1"
class User < ActiveRecord::Base
    attr_accessor :password

    before_create :hashed_password

    def self.authenticate(username, password)
        logger.info "*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"
        logger.info "user " + username

        user = find_by_username(username)

        logger.info "user id: " + user.id.to_s
        logger.info "user username: " + user.username.to_s
        logger.info "user hashed_password: " + user.hashed_password.to_s
        logger.info "user created_at: " + user.created_at.to_s
        logger.info "user updated_at: " + user.updated_at.to_s
        logger.info "*-*-*-*-*-*-*-*-"
        logger.info "entered hashed password " + Digest::SHA1.hexdigest(password)

        if user && user.hashed_password == Digest::SHA1.hexdigest(password)
            logger.info "SUCCESS"
            user
        else
            nil
        end
    end

    def hashed_password
        if password.present?
            self.hashed_password = Digest::SHA1.hexdigest(password)
        end
    end

但是,一旦它进入数据库,就不会有所作为,应该吗?它只是拒绝阅读。另外,日志文件:

Started POST "/sessions" for 127.0.0.1 at 2013-09-25 08:06:45 +0100
Processing by SessionsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"p5tDog8wOD6+H3fSFZpDXkMxNzFxej3tay6slVmIF5Y=", "username"=>"john harris", "password"=>"[FILTERED]", "commit"=>"Log in"}
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
user john harris
  [1m[35mUser Load (0.0ms)[0m  SELECT "users".* FROM "users" WHERE "users"."username" = 'john harris' LIMIT 1
user id: 37
user username: john harris
user hashed_password: 
user created_at: 2013-09-25 07:06:28 UTC
user updated_at: 2013-09-25 07:06:28 UTC
*-*-*-*-*-*-*-*-
entered hashed password eba082ff45517c06bd365c2fde1fc77cda7a8f6f
  Rendered sessions/new.html.erb within layouts/application (1.0ms)
Completed 200 OK in 11ms (Views: 8.0ms | ActiveRecord: 0.0ms)

注意用户hashed_pa​​ssword:条目的空白到底是怎么回事?数据进入数据库后,无论如何到达那里都应该能够读取它。太奇怪了。

我唯一能想到的是hashed_pa​​ssword是一个关键字,而Rails对此却有些愚蠢。这就是我能想到的。完全茫然。

生物巫师

您用于设置hashed_pa​​ssword的回调方法与属性具有相同的名称,将其重命名为唯一的名称,因为它会覆盖属性访问器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从数据库中提取MVC应用程序后,是什么原因导致MVC应用程序无法在IE中显示当前信息?

来自分类Dev

是什么原因导致无法使用AngularJS和Codeigniter 3在MySQL表中插入数据失败?

来自分类Dev

是什么原因导致Undefined属性:stdClass?

来自分类Dev

是什么原因导致无法提交暂存文件?

来自分类Dev

是什么原因导致使用jQuery在WordPress上出现“无法读取未定义的属性'substr'的未定义”错误?

来自分类Dev

在 Tensorflow 2.0 中无法将 dtype 对象的图像数据转换为浮点错误。这是什么原因造成的?

来自分类Dev

是什么原因导致BigQuery中的“资源超出”?

来自分类Dev

是什么原因导致Chrome中页面底部的空白?

来自分类Dev

我的将项目添加到数据库的c#编码的一部分无法正常工作。可能是什么原因?

来自分类Dev

是什么原因导致性能下降?

来自分类Dev

是什么原因导致[* A],以overallocate?

来自分类Dev

是什么原因导致弹跳失败?

来自分类Dev

是什么原因导致错误?

来自分类Dev

核心数据“数据库似乎已损坏”-导致此错误的原因是什么?

来自分类Dev

核心数据“数据库似乎已损坏”-导致此错误的原因是什么?

来自分类Dev

在Apt中读取数据库是什么意思?

来自分类Dev

是什么原因导致在使用notnoop的java-apns库时出现此错误?

来自分类Dev

在 Python 中从数据库读取对象属性

来自分类Dev

是什么原因阻止我无法将VS2010中的静态库正确链接到我的.dll,

来自分类Dev

Joblib因无法解释的错误而崩溃,可能是什么原因导致的?

来自分类Dev

是什么原因导致标题函数无法在我的登录页面上重定向?

来自分类Dev

是什么原因导致Intel RST无法识别驱动器?

来自分类Dev

是什么原因导致该网站上的响应功能无法在移动设备上使用?

来自分类Dev

是什么原因导致systemd错误“无法使OnFailure = job入队:避免了资源死锁”?

来自分类Dev

是什么原因导致无法识别安装的应用程序?

来自分类Dev

是什么原因导致webrtc数据通道消息出现> 1000ms的滞后?

来自分类Dev

是什么原因导致R中的栅格计算中的calc和cellStats之间存在差异?

来自分类Dev

IO异常-读取结束失败-在此示例中是什么原因导致的以及如何解决-Java中的多线程应用程序

来自分类Dev

是什么原因导致*中*个项目的性能出现这种奇怪的下降?

Related 相关文章

  1. 1

    从数据库中提取MVC应用程序后,是什么原因导致MVC应用程序无法在IE中显示当前信息?

  2. 2

    是什么原因导致无法使用AngularJS和Codeigniter 3在MySQL表中插入数据失败?

  3. 3

    是什么原因导致Undefined属性:stdClass?

  4. 4

    是什么原因导致无法提交暂存文件?

  5. 5

    是什么原因导致使用jQuery在WordPress上出现“无法读取未定义的属性'substr'的未定义”错误?

  6. 6

    在 Tensorflow 2.0 中无法将 dtype 对象的图像数据转换为浮点错误。这是什么原因造成的?

  7. 7

    是什么原因导致BigQuery中的“资源超出”?

  8. 8

    是什么原因导致Chrome中页面底部的空白?

  9. 9

    我的将项目添加到数据库的c#编码的一部分无法正常工作。可能是什么原因?

  10. 10

    是什么原因导致性能下降?

  11. 11

    是什么原因导致[* A],以overallocate?

  12. 12

    是什么原因导致弹跳失败?

  13. 13

    是什么原因导致错误?

  14. 14

    核心数据“数据库似乎已损坏”-导致此错误的原因是什么?

  15. 15

    核心数据“数据库似乎已损坏”-导致此错误的原因是什么?

  16. 16

    在Apt中读取数据库是什么意思?

  17. 17

    是什么原因导致在使用notnoop的java-apns库时出现此错误?

  18. 18

    在 Python 中从数据库读取对象属性

  19. 19

    是什么原因阻止我无法将VS2010中的静态库正确链接到我的.dll,

  20. 20

    Joblib因无法解释的错误而崩溃,可能是什么原因导致的?

  21. 21

    是什么原因导致标题函数无法在我的登录页面上重定向?

  22. 22

    是什么原因导致Intel RST无法识别驱动器?

  23. 23

    是什么原因导致该网站上的响应功能无法在移动设备上使用?

  24. 24

    是什么原因导致systemd错误“无法使OnFailure = job入队:避免了资源死锁”?

  25. 25

    是什么原因导致无法识别安装的应用程序?

  26. 26

    是什么原因导致webrtc数据通道消息出现> 1000ms的滞后?

  27. 27

    是什么原因导致R中的栅格计算中的calc和cellStats之间存在差异?

  28. 28

    IO异常-读取结束失败-在此示例中是什么原因导致的以及如何解决-Java中的多线程应用程序

  29. 29

    是什么原因导致*中*个项目的性能出现这种奇怪的下降?

热门标签

归档