【发布时间】:2017-09-16 17:27:55
【问题描述】:
我们正在为 I18N 使用 Rails 3.2.15 和 Globalize gem。我们最近集成了 Paper Trail Gem 以审计模型更改。
我们观察到,无论哪个模型字段标记为已翻译,都不会在 DB 中更新。
例如
class MyModel < ActiveRecord::Base
translates :name
has_paper_trail
end
当我更新 MyModel 对象的 name 属性时,它没有被保存。
版本:
Ruby 1.9.3
Rails 3.2.15
全球化3
paper_trail 2.7.2
【问题讨论】:
-
globalizegem 不会将翻译后的文本存储在模型表中,而是存储在专用的翻译表中。这意味着更改翻译不会更新模型本身,因此papertrail没有机会注意到发生了变化。您还必须扩展翻译模型才能使用 papertrail。 -
翻译没有任何模型。 gem 在内部处理它
标签: ruby-on-rails ruby activerecord paper-trail-gem globalize3