【发布时间】:2017-07-28 22:26:15
【问题描述】:
我从 rails 文档知道find 将导致RecordNotFound 错误。但是,如果没有找到记录,find_by 方法只会返回 nil。返回nil 对我来说似乎更直观且总体上安全,所以我想知道使用find 方法是否比find_by 方法有任何好处?
例如,以下有什么区别:
myRecord.find(1)
和
myRecord.find_by(id: 1)
如果唯一的区别是find 在未找到记录时引发错误,我真的看不出使用find 的好处。
编辑
对于所有跳出我的问题并说已经回答的人,你错了。我明确表示我知道find 在找不到记录时会返回错误(这是其他人在回答中强调的)并且find_by 返回零。我想知道是否还有其他差异。
【问题讨论】:
-
我为我的评论道歉。很高兴您找到了满意的答案。祝你好运!
标签: ruby-on-rails