1

在我的 Rails 应用程序中,我有一个属性“标题”,我想将数据库中“标题”的所有实例更改为“苹果派”,例如“苹果蛋糕”。有没有办法做到这一点,而不是像我有这么多一样单独修改和改变每一个?

4

1 回答 1

3

您可以进行 rake 任务来进行更改:

namespace :update do

  desc "Update title"
  task :title_fix => :environment do
    MyClass.where(:title => 'old title').each do |t|
      t.update_attributes(title: 'new title')
    end
  end
end

然后在命令行运行:

rake update:fix_title

或者,如果你很勇敢,你可以在 rails 控制台中完成所有操作,例如:

MyClass.where(:title => 'old title').each { |t| t.update_attributes(title: 'new title') }

但我讨厌以非记录方式进行数据库更改......

于 2013-02-27T02:13:09.327 回答