我正在尝试构建一个示例ROR Web应用程序。我试图从请求参数访问一组id,并获取这些参数的结果表格DB。我的参数是一系列ID。我得到了正确的输出。唯一的事情是,如果我在id数组中发送一些错误的值,那么它就不会给出输出。终止时出现错误,表示无法找到这些ID的所有值。我正在通过以下方式完成所有这些工作:
if(params[:m_id])
@m = @man.me.find(JSON.parse ((params[:m_id]).encode!('UTF-8')))
end
我应该尝试使用Begin Rescue
还是其他一些更好的方法。需要一些帮助。谢谢。
答案 0 :(得分:1)
如果您想获取记录而不是在不存在错误时抛出错误,则可以使用where
而不是find
。
if(params[:medicine_id])
@m = @man.me.where(id: JSON.parse((params[:m_id]).encode!('UTF-8')))
end
如果您知道只有一个id
,则可以在查询结尾添加take
。
if(params[:medicine_id])
@m = @man.me.where(id: JSON.parse((params[:m_id]).encode!('UTF-8'))).take
end