У меня есть две модели
class SurveyResponse
has_many :answers, :class_name => SurveyResponseAnswer.name
accepts_nested_attributes_for :answers
end
class SurveyResponseAnswer
belongs_to :survey_response
validates_presence_of :answer_text
end
В моей вложенной форме, если проверка перестала работать, я отобразил эту ошибку на экране:
"ответы отвечают, что текст не может быть пробелом"
Я настроил свои названия атрибута несколько успешно использование направляющих I18n. Это не ведет себя точно, как я ожидал бы все же. yml файл ниже не влияет, как название атрибута печатается в error_messages_for
en:
activerecord:
models:
survey_response:
answers: "Response"
Но если из сценария/консоли я пробую
SurveyResponse.human_attribute_name ("ответы")
Я получаю ожидаемый результат "Ответа".
То, что я хотел бы сделать, имеют сообщение об ошибке проверки, скажите:
"Текст ответа ответа не может быть пробелом". Какие-либо идеи, что я должен зафиксировать?
Попробуйте следующее:
en:
activerecord:
models:
survey_response:
answers:
answer_text: "Response"
Я использую Rails 3, и это работает для меня (мой файл i18n немного отличается, в нем используются "атрибуты" вместо моделей. Я не знаю, это работает в 2.3)
en:
activerecord:
attributes:
survey_response:
answers:
answer_text: "Response"
До этого я пытался создать атрибут в yml под названием «answers_answer_text», но он не работал.
Надеюсь, это решит вашу проблему.