Как передать неправильное значение в качестве аргумента в I18n, используя rails, проверяет правильность включения?
Я хочу подтвердить включение в 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 ответ
Я нашел решение: добавление значения в кавычки с помощью% решает эту проблему.
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