gpt4 book ai didi

ruby-on-rails - Activerecord 将 UUID 读取为整数。我需要实际的 UUID 作为字符串

转载 作者:数据小太阳 更新时间:2023-10-29 08:56:25 24 4
gpt4 key购买 nike

我正在尝试保存一个与相应记录的哈希同名的文件名。

目前数据导入器正在使用 Rails,但数据库和相应的模式是在应用程序外部生成的。

当我在 psql 中读取 Account 模型时,我看到:

从 id=1 的帐户中选择 *

id                     | 1
first_name | JOHN
middle_name |
last_name | DOE
suffix |
dob | 1985-11-29 00:00:00
gender | M
hash | 5062a455-ad6e-4104-ae49-92d12b1fbd27

当我使用 ActiveRecord 时,我得到以下信息:Account.first

id: 1,
first_name: "JOHN",
middle_name: "",
last_name: "DOE",
dob: Fri, 29 Nov 1985 00:00:00 UTC +00:00,
gender: "M",
hash: "5062a455-ad6e-4104-ae49-92d12b1fbd27"

当我尝试使用 Account.first.hash 访问哈希时,我得到的是 -1029718433662254257 而不是 "5062a455-ad6e-4104-ae49-92d12b1fbd27"

我基本上想做 filename = "#{account.hash}.png" 但现在我所有的文件名都是负数而不是 UUID。

知道发生了什么事吗?

最佳答案

hash 是 Ruby 中基于 Object 的方法。除了更改数据库中字段的名称外,您对此无能为力*。 https://apidock.com/ruby/Object/hash

Generates a Fixnum hash value for this object. This function must have the property that a.eql?(b) implies a.hash == b.hash. The hash value is used by class Hash. Any hash value that exceeds the capacity of a Fixnum will be truncated before being used.


正如评论中所建议的,您也可以直接访问它

# in your view or model
account[:hash]

关于ruby-on-rails - Activerecord 将 UUID 读取为整数。我需要实际的 UUID 作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55797078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com