我有一个表格,其中包含模型中的"属于".该表包含用于链接两个表的xx_id字段.
但是,有时xx_id将是空白的.如果是,我得到ActiveRecord :: RecordNotFound.我不想要错误 - 我只想为这个字段显示空白.
你有什么建议?
Gra*_*wan 73
使用该方法时,Rails将始终引发ActiveRecord :: RecordNotFound异常find.find_by_*但是,nil当没有找到记录时,这些方法会返回.
该ActiveRecord的文档告诉我们:
RecordNotFound - 没有记录响应find方法.具有给定ID的行不存在或行不符合其他限制.有些查找调用不会引发此异常,表示未发现任何信号,请查看其文档以获取更多详细信息.
如果您想nil在无法找到记录时返回,只需按如下方式处理异常:
begin
my_record = Record.find params[:id]
rescue ActiveRecord::RecordNotFound => e
my_record = nil
end
Run Code Online (Sandbox Code Playgroud)
你不能写
my_record = Record.find(params[:id) rescue nil
Run Code Online (Sandbox Code Playgroud)
小智 5
Record.find_by(id: params[:id])
Run Code Online (Sandbox Code Playgroud)
Record如果找到则返回对象,否则返回nil。
| 归档时间: |
|
| 查看次数: |
40256 次 |
| 最近记录: |