gpt4 book ai didi

ruby-on-rails - first_or_create : determining which is called

转载 作者:行者123 更新时间:2023-12-03 16:07:18 27 4
gpt4 key购买 nike

我像这样调用 first_or_create :

collection = Collection.first_or_create(:title => title)

有没有办法确定结果是现有条目还是新创建的条目?到目前为止,我想出的最佳解决方案是使用 first_or_initialize:
collection = Collection.first_or_initialize(:title => title)
if collection.id.nil?
<process>
collection.save
end

但这感觉有点hacky。有没有办法直接从 first_or_create 获取这些信息?

最佳答案

first_or_create需要一个只有在创建新记录时才会执行的块,您可以在该块内设置一些标志以指示它是一个新记录,例如

MyObject.where(attr: "value").first_or_create do |obj|
@my_object_created = true
end

关于ruby-on-rails - first_or_create : determining which is called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510813/

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