gpt4 book ai didi

postgresql - find_or_create_by - id = nil 当记录存在时

转载 作者:行者123 更新时间:2023-11-29 11:49:58 26 4
gpt4 key购买 nike

我正在尝试使用 ActiveRecord 的 find_or_create_by 方法,我需要返回记录的 ID。当此方法创建新记录时,会发生这种情况。但是,如果记录已经存在,则 ID(连同 created_atupdated_at 列)为 nil。所有其他数据都返回得很好。为什么是这样?我可以在我的数据库中看到它并且它有一个 ID。当我使用 find_by 获取记录时,ID 被返回。这是错误还是我遗漏了什么?

最佳答案

我知道这是一个老问题,但我遇到了同样的问题,这是一个非常简单的用户错误。

如果没有为所选属性找到持久对象,则对象的 id 将为 nil,但无法完全创建(初始化并保存到db) 因为它没有通过验证。

TLDR;如果您使用 Model.find_or_create_by(attributes) 并最终得到一个具有 id: nil 的对象,请检查它的错误,调整您的属性,然后愉快地编码。

关于postgresql - find_or_create_by - id = nil 当记录存在时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149479/

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