Я использую драгоценные камни: globalize3 и easy_globalize3_accessors. У меня проблема с проверками. Например, у меня есть модель Post:
class Post
translates :title, :content
globalize_accessors :locales => [:en, :ru], :attributes => [:title, :content]
validates :title, :content, :presence => true
end
и форма:
= form_for @post do |f|
-I18n.available_locales.each do |locale|
= f.text_field "title_#{locale}"
= f.text_area "content_#{locale}"
как это выглядит в представлении (если I18n.locale = :ru):
<form action="/ru/posts" method="post">
<input id="post_title_ru" name="post[title_ru]" type="text" />
<textarea cols="40" id="post_content_ru" name="vision[content_ru]"></textarea>
<input id="post_title_en" name="post[title_en]" type="text" />
<textarea cols="40" id="post_content_en" name="vision[content_en]"></textarea>
<input name="commit" type="submit" value="Создать Видение" />
</form>
Если я заполняю поля только на русском, то валидация проходит, если я хотел, чтобы пост был только на английском, и заполняю только английское поле (при I18n.locale=:ru), то валидация не проходит
Title can't be blank
Content can't be blank
Я так понимаю проблема в атрибутах, валидация проверяет только первые атрибуты :title_ru и :content_ru. А до остальных атрибутов (:content_en и :title_en) проверка не доходит.
как сделать второй валидатор данных для проверки не пройдена ли валидация первой группы атрибутов?
заранее спасибо
validates :title_ru, :content, :presence => true
иvalidates :title_en, :content, :presence => true
- person apneadiving   schedule 29.08.2012