【问题标题】: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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-09
      • 2018-09-18
      • 1970-01-01
      • 2019-08-04
      • 2019-10-30
      • 2017-01-08
      • 2011-08-15
      • 1970-01-01
      相关资源
      最近更新 更多