gpt4 book ai didi

ruby-on-rails - rails : find_or_create_by equivalent that will not persist until save

转载 作者:行者123 更新时间:2023-12-03 16:01:19 28 4
gpt4 key购买 nike

我目前正在使用此代码块来检索用户或创建新用户:

user = User.find_or_create_by!(email:params[:email])

但是,我不一定要将新用户持久保存到数据库中。

是否有类似“find_or_new_by”的东西只会持续存在:
user.save

最佳答案

您似乎在寻找 #find_or_initialize_by .而不是调用 create ,命名方法调用new .要保存对象(假设它已初始化,但未找到),您将调用 save如你所愿。

而且,如果您查看该方法的源代码,它会完全满足您的需求!

def find_or_initialize_by(attributes, &block)
find_by(attributes) || new(attributes, &block)
end

在我提供方法链接的文档页面上,我找不到该方法的 bang ( ! ) 版本。使用 bang 会引发错误。根据您的用途,您可能根本不需要它。

关于ruby-on-rails - rails : find_or_create_by equivalent that will not persist until save,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526660/

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