1

Ruby on Rails 4 とGlobalize gem を使用しています。

アプリケーションのフォームから複数の翻訳を送信すると、特定のロケールの翻訳がテーブルに既に存在する場合でも、Globalize は翻訳データベース テーブルに各ロケールの新しいレコードを作成します。

ロケールごとに 1 つの翻訳を行いたいので、フォームが送信されると、まだ存在しない場合にのみ新しい翻訳レコードが作成されます。それ以外の場合は、送信データで更新する必要があります。

どうやってやるの?

4

1 に答える 1

0

フォーム内のデータの形式に関する詳細情報がなければ、この質問に答えることは困難です。

にすべてのロケールがI18n.available_localesあり、属性を更新していると仮定するとtitle、次のようなものが機能します (レコードが と呼ばれると仮定post):

I18n.available_locales.each do |locale|
  post.translation_for(locale).title ||= ...
end
post.save!

詳しい情報を提供していただければ、より具体的なガイダンスを提供できます。

于 2013-12-01T10:26:02.353 に答える