【发布时间】:2015-02-11 16:13:32
【问题描述】:
知道为什么在这种情况下消息哈希为空吗?
我有这些验证:
validates_presence_of :part_number
validates_uniqueness_of :part_number
一个简单的创建:
if @part.save
puts 'saved'
redirect_to new_v2_path
else
puts 'not saved'
flash[:error] = "There was an error while updating the part."
redirect_to new_v2_path(@part)
end
在视图中:
<% if @part.errors.any? %>
<div id="error_explanation" style="color: red;">
<h2><%= pluralize(@part.errors.count, 'error') %> :</h2>
<ul>
<% @part.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
错误对象:
...l, flush_part: nil>, @messages={}>
【问题讨论】:
-
您在哪里以及如何调用错误对象?是否在保存错误后调用它?
-
它在视图中被调用。我粘贴了上面的代码。我的理解是,当它没有通过模型中的验证时,会得到错误消息的哈希值。
标签: ruby-on-rails validation error-handling rails-models