1

我正在使用 Ruby on Rails 4 和Globalize gem。

当我从应用程序中的表单提交多个翻译时,Globalize 会为翻译数据库表中的每个语言环境创建一条新记录,即使该表中已经存在给定语言环境的翻译。

我希望每个语言环境都有一个翻译,所以当提交表单时,只有当它还不存在时才会创建一个新的翻译记录,否则它应该只使用提交数据进行更新。

我怎样才能做到这一点?

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 回答