【问题标题】:Rails: rename globalize columnRails:重命名全球化列
【发布时间】:2016-11-08 22:14:17
【问题描述】:

rails globalize gem 文档很棒,但是当我想重命名列时,我找不到解决方案,我必须做什么。

去年我这样做是为了添加翻译字段。

  def up
    remove_column :news, :name
    News.add_translation_fields! name: :string
  end

  def down
    add_column :news, :name, :string, default: nil
    remove_column :news_translations, :name
  end

现在我想将“名称”列重命名为“标题”,而不会丢失我的数据和翻译。如何编写迁移文件?

【问题讨论】:

  • 我在这里遗漏了什么吗?...你能不能只做def change; rename_column :news, :name, :title; end
  • 那个。如果它实际上更复杂,那么有许多解决方案可以归结为 stackoverflow.com/q/6135600/438992 在幕后某处。
  • mhh,但我不想重命名 News 模型,只是重命名列。
  • rename_column :news, :name 表示“在新闻表中,重命名名称列” - 它不会重命名表

标签: ruby-on-rails ruby rename globalize


【解决方案1】:

直接更改新闻翻译表上的列

def change
  rename_column :news_translations, :name, :title
end

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 2013-08-01
    • 2016-04-25
    • 1970-01-01
    • 2011-02-24
    • 2011-01-05
    • 1970-01-01
    • 2013-12-28
    相关资源
    最近更新 更多