2014-01-10 2 views
5

Моих моделей:Rails переводят пользовательские базы ошибки

продукта has_many варианты has_many размеров

Для размеров я добавить пользовательскую ошибку, как это:

errors.add :base, "My custom error msg" 

В представлении я вижу: «Размеры базы Моя специальная ошибка msg "

class Size < ActiveRecord::Base 
    ... 
    validate :custom_error, only: :update 
    ... 
    def custom_error 
    errors.add :base, "My custom error msg" 
    end 
end 

Но как перевести это меня Ssage?

ОБНОВЛЕНО Я нашел решение:

В locale.yml:

attributes: 
    variants/sizes: 
    base: '' 
+1

Вы можете показать больше кода о том, как/где вы добавляете эту ошибку? –

ответ

11

Try:

errors.add :base, :custom_error 

Это должно дать вам translation missing вместе с именем ключа и областью где этот перевод должен быть сохранен.

Update:

Просто сделал это сам:

translation missing: [locale].activerecord.errors.models.[model_name].attributes.base.custom_error 
+1

Спасибо! Он работал во второй части msg, но как перевести первую часть ** База баз данных ** Моя пользовательская ошибка msg – zolter

+0

Определяет ли ваша модель атрибут 'base'? Не должно быть префиксов ошибок на ': base'. – BroiSatse

+0

Нет У меня нет атрибута 'base' – zolter

Смежные вопросы