B S*_*ven 5 activerecord ruby-on-rails
Rails find方法是否已被弃用?
在过去,find(1)是通过id找到的首选方式.
是否更好用find_by(id:1)而不是find(1)?
这两种方法都没有被弃用(据我所知)。find和之间的区别find_by()是当记录不存在时它们返回的内容。如果 ID 为 23 的记录不存在,您将得到以下结果:
Model.find(23)
=> ActiveRecord::RecordNotFound: Couldn't find Model with 'id'=23
Run Code Online (Sandbox Code Playgroud)
或者
Model.find_by(id: 23)
=> nil
Run Code Online (Sandbox Code Playgroud)
find_by如果您在可能不存在的记录的情况下进行查询,则使用更宽容,因为您得到的nil是值而不是异常。
| 归档时间: |
|
| 查看次数: |
2890 次 |
| 最近记录: |