Скрыть/удалить название модели в сообщении об ошибке ассоциации

На всю жизнь я не могу найти, как удалить название модели перед сообщением об ошибке. Обычно это нормально, но выслушайте меня.

У меня есть модель под названием «foo». В какой-то момент мне нужно будет переименовать его, но сейчас это проблема. На данный момент мне нужно изменить сообщение об ошибке: Foo Отсутствует информация о том, как часто вам платят.

# finance.rb
belongs_to :foo # this will be renamed in the future
[..]

Я думал, что мне нужно отредактировать только en.yml:

en:
  activerecord:
    errors:
      models:
        finance:
          attributes:
            foo:
              required: "How often you get paid is missing"

Это работает, но мне не нужно показывать имя модели в сообщении. Хорошо, я мог бы заменить строку, но это некрасиво. Можно ли показывать сообщение только в en.yml?

РЕДАКТИРОВАТЬ:

Ошибка отображается как:

<% if @finance.errors.any? %>
  <ul>
    <% @finance.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
  </ul>
<% end %>

person Sylar    schedule 06.10.2020    source источник


Ответы (1)


Кажется, это простое решение найдено здесь. Итак, в моем случае:

en:
  errors:
    format: "%{message}"
  activerecord:
    errors:
      models:
        finance:
          attributes:
            repayment_type:
              required: "How often you get paid is missing"

Это может быть дубликат поста, поэтому вы можете пометить его как дубликат ????

person Sylar    schedule 06.10.2020