【问题标题】:Remove invalid value from array of ids and get out for valid ids in ROR从 id 数组中删除无效值并在 ROR 中获取有效 id
【发布时间】:2015-10-02 06:40:19
【问题描述】:
我正在尝试构建一个示例 ROR Web 应用程序。我试图从请求参数中访问一组 id,并为这些参数获取结果表单 DB。我的参数是一个 id 数组。我得到了正确的输出。只有当我在 ids 数组中发送一些错误的值时,它才不会给出输出。以错误终止,表示无法找到这些 id 的所有值。我正在通过以下方式完成所有这些工作:
if(params[:m_id])
@m = @man.me.find(JSON.parse ((params[:m_id]).encode!('UTF-8')))
end
我可以试试Begin Rescue 还是有其他更好的方法。需要帮助。谢谢。
【问题讨论】:
标签:
ruby-on-rails
arrays
controller
【解决方案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