Railsアプリに属性「title」があり、データベース内のすべてのインスタンスを変更したいと思います。たとえば、「title」は「applepie」から「applecake」になります。私がたくさん持っているので、それぞれを個別に調べて変更する以外に、これを行う方法はありますか?
質問する
291 次
1 に答える
3
変更を行うためにレーキタスクを作成できます。
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 に答える