从区域设置错误消息

时间:2017-08-29 16:55:05

标签: ruby-on-rails ruby localization rails-i18n

我有一组语言环境,如下所示。当触发错误消息时,它将提取属性的名称并在错误消息之前添加它。

提交时点值为空的错误结果为“值点值不能为空”。

如何删除错误消息中的{%attribute}名称?

en:
 activerecord:
    attributes:
      referral:
        email: The email address you entered
    errors:
      models:
        answer:
          attributes:
            value:
              blank: points value can't be blank

我也尝试在模型中添加消息,但无济于事(它仍然是属性名称)。

validates_presence_of :value, :message => "points value can't be blank"

提前致谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试从您尝试创建的对象中的错误中访问每个消息值,并在每封消息中访问它的第一个值(因为它是一个数组),类似的东西:

<% answer.errors.messages.values.each do |message| %>
  <li><%= message.first %></li>
<% end %>

答案 1 :(得分:1)

我会通过本地化属性名称来实现这一点,而不是阻止它被添加到消息中:

en:
  activerecord:
    attributes:
      answer:
        value: "points"