Ruby on Rails (3.2.2)、globalize3 (0.2.0)、およびbatch_translations (0.1.2) ruby-gem を使用しています。globalize3 で扱う翻訳データは、本来あるべきものと同様に検証したいと考えています。つまり、たとえば...
...私のROOT_RAILS/app/models/article.rb
ファイルには次のものがあります:
class Article < ActiveRecord::Base
translates :title, :content
# This is needed to make the batch_translations to work.
attr_accessible :translations_attributes
accepts_nested_attributes_for :translations
validates :title,
:presence => true,
:length => ...
validates :content,
:presence => true,
:length => ...
...
end
...私のROOT_RAILS/app/views/articles/_form.html.erb
ファイルには次のものがあります:
<%= form_for(@article) do |f| %>
English translation:
<%= f.text_field :title %>
<%= f.text_field :content %>
Italiano translation:
<%= f.globalize_fields_for :it do |g| %>
<%= g.text_field :title %>
<%= f.text_field :content %>
<% end %>
<% end %>
フォームを送信するときにtitle
との値を検証したいのですが、現在のは ではありません。つまり、翻訳についても正しい情報をデータベースに保存するために、ユーザーがデフォルトの英語ではないロケール言語の翻訳データを送信したときに、検証して属性を設定したいと考えています。content
I18n.locale
I18n.default_locale
title
content
出来ますか?もしそうなら、どのように?
注:この質問から例を挙げました。