gpt4 book ai didi

ruby-on-rails - Rails 的 find_by_ 方法不应该返回一个空数组而不是 nil 吗?

转载 作者:行者123 更新时间:2023-12-04 07:34:28 25 4
gpt4 key购买 nike

Rails 的 find_by_ 方法不应该返回一个空数组而不是 nil 吗?

没有匹配 find_by_ 条件的记录是正常的,但是返回 nil 没有意义。因为在我看来,错误是由合理的代码引发的,例如:

<% for thing in @thing_that_might_be_an_array_or_might_be_nil do %>

由于 find_by_ 总是返回一个数组,即使只有 1 条记录,如果有 0 条记录,它也应该返回一个数组。那么所有那些
<% @thing.each


<% for thing in @thing

在我们的意见中会悄悄地被忽略而不是引起 “我们很抱歉,但有些不对劲。” (或者我错过了什么?目前处理这个问题的最佳实践是什么?)

最佳答案

find_by_用于查找一条记录,第一个符合您的条件的记录。
find_all_by_用于查找与您的条件匹配的一组记录,一个数组。

所以,是的,我认为这对于 find_by_ 来说是完全正常的。当它没有找到任何东西时返回 nil,而不是一个空数组,因为你只要求一件事。

关于ruby-on-rails - Rails 的 find_by_ 方法不应该返回一个空数组而不是 nil 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7411351/

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