я создал виртуальную (непостоянный) модель в Rails 3 (см ниже)Локализация атрибутов в Rails виртуальных моделях
теперь мне нужно применить переводы к модели, но места стандартных переводов не похоже, работают. например
en:
activerecord:
attributes:
media_upload:
title: "My Title"
Я знаю, что могу применить это непосредственно к метке с необязательным параметром строки, например. f.label :title, t('activerecord.attributes.media_upload')
, но это не работает для сообщений об ошибках в результате проверок. Аналогично, я мог бы добавить ключ к файлу переводов для хелпера меток, как это предложено в Localise nested virtual attribute in Rails, но это также не работает для проверки.
helpers:
label:
media_upload:
title: "My Title"
Помимо пересмотра всех соответствующих сообщений проверки, есть ли другой способ, я могу сделать локализацию атрибутов в непостоянных моделях ??
модель образец приведен ниже,
class MediaUpload
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :media_file, :title
validates_presence_of :media_file
validates_presence_of :title
def initialize(attributes = {})
unless attributes.nil?
attributes.each do |name, value|
send("#{name}=", value)
end
end
end
def persisted?
false
end
end
Вы должны использовать ActiveModel вместо ActiveRecord в activerecord.errors.models.admin.attributes.name.blank activerecord.errors.models.admin.blank ActiveRecord .errors.models.user.attributes.name.blank activerecord.errors.models.user.blank activerecord.errors.messages.blank errors.attributes.name.blank errors.messages.blank Например activemodel: атрибуты: пользователей: Логин: "Вход" адрес электронной почты: "Отправить" first_name: "Имя" ошибки: модели: пользователь: атрибуты: Логин: is_invalid: "^ Неправильный логин" – Puneeth
Вы решили эту проблему? –