ActiveRecord 对象不使用文件记录保存翻译后的值 gem

ActiveRecord object does not save translated values with paper trail gem

我们正在为 I18N 使用 Rails 3.2.15 和全球化 gem。我们最近集成了 Paper Trail Gem 以审核模型更改。

我们观察到,无论哪个模型字段被标记为已翻译,都不会在数据库中更新。

例如

class MyModel < ActiveRecord::Base
  translates :name
  has_paper_trail
end

当我更新 MyModel 对象的名称属性时,它没有被保存。

版本:

Ruby1.9.3

Rails 3.2.15

全球化3

paper_trail 2.7.2

我通过升级我的 Globalize gem 并安装 globalize-versioning gem 来让它工作。它一起工作得很好。

class MyModel < ActiveRecord::Base
  translates :name, versioning: :paper_trail
  has_paper_trail
end

这确实需要您使用 my_model.translations.versions 而不是通常的 my_model.versions.

来获取已翻译项目的版本