我知道我可以用i18n解决这个问题,如果我有时间的话,我会尽力做,但为了更快的解决方案我很好奇:有没有办法将属性名称添加到rails验证错误?例如,我的模型中有以下内容:
validates_presence_of :name
呈现的验证错误是can't be blank
。我更喜欢说Name can't be blank
。
答案 0 :(得分:1)
validates_presence_of :name, :format => { :message => "whatever you want" }
答案 1 :(得分:0)
使用errors.full_messages
:
<ul>
<% @record.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
答案 2 :(得分:0)
仅 -
validates_presence_of :name, :message => "Name can't be blank"
对于validates_presence_of
,,错误区域设置为 - “不能为空”;属性/属性名称在验证期间加前缀。您可以通过上面覆盖它。 因此,对于您的情况,由于属性名称为“名称”,错误将自动变为“名称不能为空”。 要覆盖所有验证的属性名称,可以使用human_attribute_name(http://apidock.com/rails/ActiveModel/Translation/human_attribute_name)