【发布时间】:2015-07-11 21:51:50
【问题描述】:
我正在使用带有 JBuilder 的 Rails 3.2.21。
我有一个示例,我在 js.erb 文件中使用 JBuilder 部分来预填充一些字段:
var orderData = <%= raw render :partial => 'orders/orders', formats: [:json], handlers: [:jbuilder], locals: {orders: @orders} %>;
我有一个奇怪的问题,如果在 jbuilder 模板中抛出错误,它会呈现缺少模板错误。所以
如果 _orders.json.jbuilder 看起来像这样
json.array! orders do |order|
json.someProperty order.a_missing_property
end
我明白了:
ActionView::Template::Error (Missing partial orders/orders with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :coffee, :haml, :jbuilder, :riif]}
但如果没有错误,这会正确呈现。
知道我的错误是如何被吞没的吗?
更新
我在这里创建了一个演示应用程序:https://github.com/earnold/error-demo
如果您加载主页/索引,则会收到缺少模板的错误。如果注释掉模板中的坏行,就可以正常渲染模板。我要做的是确保错误不会被吞下,而是显示在页面上。
【问题讨论】:
标签: ruby-on-rails json jbuilder