我有一个订单表格,我可以在其中添加订单商品
DistrictVotableController
我想检查创建项目时是否有任何错误。
这是我在订单上使用的内容:
<h2>Order: <%= @order.title %></h2>
<h3>Items</h3>
<%= render @order.items %>
<h4>Add an item:</h4>
<%= form_for([@order, @order.items.build]) do |f| %>
<%= f.label :Item %>
<%= f.submit 'Submit' %>
<% end %>
当表单中有多个资源时,我不知道如何显示错误。
答案 0 :(得分:0)
我之前遇到过这种情况,最终想要真正自定义消息。为了做到这一点,我使用了这样的解决方案:
<% if @errors.any? %>
<div id="error_explanation">
<h2>
<%= pluralize(@errors.count, "error") %> prohibited
this order from being saved:
</h2>
<ul>
<% @errors.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
这允许您在控制器中创建一个@errors对象,您可以在其中构建消息数组。例如:
@errors = []
@errors += @order.errors.map(&:full_messages)
@errors += @items.map(&:errors).map(&:full_messages).flatten
...
我希望这有帮助!