Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 轨道';部分未找到';掩盖潜在错误_Ruby On Rails_Json_Ruby On Rails 3_Erb - Fatal编程技术网

Ruby on rails 轨道';部分未找到';掩盖潜在错误

Ruby on rails 轨道';部分未找到';掩盖潜在错误,ruby-on-rails,json,ruby-on-rails-3,erb,Ruby On Rails,Json,Ruby On Rails 3,Erb,我遇到了一个零星的错误,表面上是因为Rails有时找不到部分错误。然而,由于错误只在某些情况下出现,我怀疑,然后发现,它背后有一个不同的错误 我的问题是,在这种情况下,是否有人知道识别潜在错误的可靠方法 明显错误: Rails在响应JSON视图请求时出现此错误new.JSON.erb: ActionView::Template::Error (Missing partial insightly_contacts/search_result with {:locale=>[:en], :fo

我遇到了一个零星的错误,表面上是因为Rails有时找不到部分错误。然而,由于错误只在某些情况下出现,我怀疑,然后发现,它背后有一个不同的错误

我的问题是,在这种情况下,是否有人知道识别潜在错误的可靠方法

明显错误:

Rails在响应JSON视图请求时出现此错误
new.JSON.erb

ActionView::Template::Error (Missing partial insightly_contacts/search_result with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :coffee]}. Searched in:
  * "/path/to/project/app/views"
这很奇怪,原因有二:

  • 所讨论的部分是存在的,并且在大多数情况下呈现得很愉快
  • 所讨论的部分不是格式
    :json
    ;虽然
    new.json.erb
    显然是一个json模板,但它将有问题的部分呈现为这样(指定
    :html
    格式):

  • 注:

    • 可能的深入联系人
      返回活动关系

    • 只有当
      form\u对象
      给定了某些参数时,才会显示错误。基本上,它需要一个搜索字符串,
      mable\u insightly\u contacts
      用于构建查询;对“x”的搜索有效,而对“z”的搜索则给出缺少的部分错误(这些不是占位符,字面上是字符串“x”和“z”分别有效/失败!)

    • 我检查了
      表单对象
      可能的深入接触
      的结果,没有出现错误–请求没有失败,因为
      可能的深入接触
      中有一个空集,或者返回了一些意外的结果

    潜在错误:

    (注意:从某种意义上讲,这是不相关的,关键是它不是真正的“部分未找到”错误)

    潜在的错误是,由于仅在某些
    insightly\u contact
    对象中发生的逻辑错误,渲染层次结构下的另一部分的渲染失败。因此,错误只发生在某些搜索字符串值上:它们返回一个对象,该对象触发了一个错误,因为它包含一些特定的数据

    我的问题:

    我应该如何找到潜在的错误?最后,我检查了所有可以从上面的模板调用的模板/部分/模型代码,并猜测了可能的错误

    我希望在底层模型中触发类似错误的常规HTML视图能够提供适当的回溯,并以这种方式发现问题

    但无论是服务器控制台中报告的错误,还是提供的回溯,都与此处的实际问题没有任何关系

    有没有人遇到/解决过类似的问题


    有没有一种规范的方法来解决这个问题?

    一个即时但不好的解决方法是使用
    文件:
    选项<代码>渲染文件:Rails.root.join('app'、'views'、'insightly_contacts'、'search_result.html.erb'),布局:false,局部变量:{insightly_contact:insightly_contact}使用
    格式:[:html]
    也可以工作。谢谢。我尝试了
    格式:[:html]
    ,但它给出了相同的错误。没有尝试
    文件…
    ,我会尝试一下,尽管我怀疑它仍然会给出一个与底层错误无关的错误。
    form_object.possible_insightly_contacts.map { |insightly_contact|
      {
        id: insightly_contact.id,
        html: render(partial: 'insightly_contacts/search_result', locals: { insightly_contact: insightly_contact }, formats: :html)
      }
    }.to_json.html_safe