在本地提交也创建 Braintree 事务的表单时,我能够显示任何 Braintree 处理错误。Braintree 实例变量存储在@result 中。
错误信息在本地正确显示
这是_error_messages部分
<% if @result.try(:errors) %>
<%# if @result.errors.present? %>
<div id="error_explanation">
<div class="alert alert-danger">
The form contains <%= pluralize(@result.errors.count, "error") %>.
</div>
<ul>
<% @result.errors.each do |error| %>
<li><%= error.code %> <%= error.message %></li> <br>
<% end #do %>
</ul>
</div>
<% end %>
我使用@result.try(:errors)因为 @result 直到控制器操作的后期才被初始化。
Heroku 上的相同代码呈现错误消息部分框(字体和格式),但没有任何错误:
错误消息在 Heroku 上无法正确显示
我已经在 Heroku 日志中确认 Braintree 结果确实返回了错误。我认为这不是 Braintree 问题,并且代码在本地运行良好。其他提交错误的表单将在 Heroku 上正确呈现错误消息。
有任何想法吗?
谢谢
大卫