Как передать неправильное значение в качестве аргумента в I18n, используя rails, проверяет правильность включения? - PullRequest
0 голосов
/ 10 января 2019

Я хочу проверить включение в поле country_code в моей таблице Country. И я хочу показать конкретную ошибку для недействительной записи, используя I18n .

Моя модель:

class Country < ApplicationRecord
  validates :country_code,
        inclusion: { in: ISO3166::Country.codes, allow_blank: true, message: I18n.t('models.country.invalid_country_code', value: value) }

end

Моя локализация:

de:
  models:
    country:
      invalid_country_code: "%{value} is invalid"

Но я вижу NameError: undefined local variable or method "value" for #<Class:0x00007f8e5de83dc8> сообщение об ошибке в консоли.

1 Ответ

0 голосов
/ 10 января 2019

Я нашел решение: поместив значение в кавычки с% исправлением этой проблемы.

class Country < ApplicationRecord
  validates :country_code,
    inclusion: { in: ISO3166::Country.codes, allow_blank: true, message: I18n.t('models.country.invalid_country_code', value: '%{value}') }

end
...