Mobiliy gem:将翻译添加到现有模型(已经有很多记录)?

时间:2017-09-15 19:12:32

标签: ruby-on-rails mobility

将翻译功能添加到现有模型并自动迁移现有记录的最简单方法是什么?

globalize gem提供了一个方法create_translation_table,其中包含migrate_data: true选项,是否有与移动性等效的内容?

1 个答案:

答案 0 :(得分:0)

我在使用 :key_value 策略处理 gem 时发现的唯一解决方法 是为每个表创建一个迁移并使用 [:column_name]

重新保存列的值

示例: 如果我们有一个 Post 表并且我想将它的 name 属性添加到翻译中: 我先添加到 post.rb:

 # post.rb
class Post < ApplicationRecord
    extend Mobility
    translates :name, type: :string
end

然后创建迁移并重新保存旧名称:

Post.all.each do |post|
  post.update(name: post[:name])
end