Comments 16
>«должен содержать не менее %{count} символов»
Это ведь в самой модели пишется, а значит английский вариант будет недоступен? Как сделать, чтобы в зависимости от пользовательской локали выводились разные сообщения? Сходу не нашёл, а скоро понадобится.
Это ведь в самой модели пишется, а значит английский вариант будет недоступен? Как сделать, чтобы в зависимости от пользовательской локали выводились разные сообщения? Сходу не нашёл, а скоро понадобится.
попробуй в модели писать сразу на англ.
а перевод соответственно в yml-файле
а перевод соответственно в yml-файле
Я делал следующим образом.
В представлении (ну или в модели, как угодно):
В ru.yml:
В представлении (ну или в модели, как угодно):
<%= t( 'activerecord.errors.template.header', :count => @transaction.errors.count ) %>
В ru.yml:
activerecord:
errors:
template:
header:
one: "Cохранение не удалось из-за %{count} ошибки"
other: "Cохранение не удалось из-за %{count} ошибок"
Вам надо смотреть API интернализации
ну тема, как вы сами заметили, даже неприлично простая
Да, но не очевидная. Когда первый раз с этим сталкиваешься сначала попадаешь на gem russian Но там нет понимания стоит ли его использовать для 3.1. Немного полазив по нему понимаешь, что скорее всего не стоит.
На русский yml случайно наткнулся, мог бы и не заметить. Так что пусть будет)
На русский yml случайно наткнулся, мог бы и не заметить. Так что пусть будет)
А какие проблемы с russian? я его во всех проектах использую вместе с r18n-rails. А вообще для себя сделал правилом вообще весь текст загонять в файлы переводов, даже если не планирую использовать несколько языков.
Но это ещё и плюс в сторону того, чтобы поизучать Rails новичкам. Я одно время именно из за этой штуки бросил ковырять то, что Rails наскаффолдил — так и не смогу побороть «Name не может быть пустым».
Особенно меня зацепило в раилскастах: «А сейчас мы будем защищаться от XSS атак. Готовы? Начнём. Ну в общем, ничего делать не надо, оно само всё делает что надо.».
Особенно меня зацепило в раилскастах: «А сейчас мы будем защищаться от XSS атак. Готовы? Начнём. Ну в общем, ничего делать не надо, оно само всё делает что надо.».
Можно еще через кастом-валидаторы делать:
А в локализации писать здесь:
validate :name_validator
def name_validator
errors.add(:name,:name_required) if self.name.blank?
end
А в локализации писать здесь:
activerecord:
errors:
models:
message:
attributes:
name:
name_required: "Введите Ваше ФИО"
Писать сообщения об ошибках прямо в моделе – не очень хорошо.
Пишите все в yml файлах локализаций, даже если у вас и преполагается использовать только один язык.
Пишите все в yml файлах локализаций, даже если у вас и преполагается использовать только один язык.
Рассказали бы про названия моделей в нестед формах при ошибках валидации, те
gallery has_many :images
image belongs_to :gallery
accepts_nested_attributes_for images
Когда в нестед форме галереи всплывает ошибка у картинки, image называется как image.
Как с этим бороться?
gallery has_many :images
image belongs_to :gallery
accepts_nested_attributes_for images
Когда в нестед форме галереи всплывает ошибка у картинки, image называется как image.
Как с этим бороться?
Sign up to leave a comment.
Валидационные сообщения на русском в Rails 3