Ruby on rails 轨道';部分未找到';掩盖潜在错误
我遇到了一个零星的错误,表面上是因为Rails有时找不到部分错误。然而,由于错误只在某些情况下出现,我怀疑,然后发现,它背后有一个不同的错误 我的问题是,在这种情况下,是否有人知道识别潜在错误的可靠方法 明显错误: Rails在响应JSON视图请求时出现此错误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
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对象
用于构建查询;对“x”的搜索有效,而对“z”的搜索则给出缺少的部分错误(这些不是占位符,字面上是字符串“x”和“z”分别有效/失败!)mable\u insightly\u contacts
- 我检查了
和表单对象
的结果,没有出现错误–请求没有失败,因为可能的深入接触
中有一个空集,或者返回了一些意外的结果可能的深入接触
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