【发布时间】:2019-09-08 22:28:42
【问题描述】:
遵循fail-fast的原则:
在查询应该只有一条记录的数据库时,如果.first() (first) 遇到多条记录,我想要一个异常。
我看到有一个 first! 方法会在记录少于预期的情况下抛出,但如果有两个或更多,我看不到任何内容。
如果记录多于预期,我如何让活动记录提前失败?
是否有原因导致活动记录不能以这种方式工作?
我习惯了 C# 的Single(),如果找到两条记录就会抛出。
【问题讨论】:
-
验证这一点比引发错误更容易。如果这是一段关系,那么
has_one已经为您处理好了。 -
很高兴知道,谢谢。在这种情况下,只有一个用于特定过滤器(范围),但还有更多不同的类型。
标签: ruby-on-rails activerecord