【问题标题】:Remove attribute name from locales error message从语言环境错误消息中删除属性名称
【发布时间】:2017-08-29 16:55:04
【问题描述】:

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

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

如何删除错误消息中的 {%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"

提前致谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多