Поскольку вы, вероятно, будете писать это только один раз, лучше всего создать для него скрипт в lib или написать для него миграцию. Я рекомендую последний вариант, потому что он будет автоматически выполнен с помощью rake db: migrate, если вы позже восстановите из своей старой резервной копии. Затем вы можете использовать все ваши стандартные приемы обработки модели (как вы бы использовали на контроллере) в рамках миграции, не подвергая код замещения контроллеру.
EDIT:
Вы можете добавить следующее в новый файл в lib / tasks, чтобы создать новую задачу rake для этого db: substitute_slashes:
namespace :db do
desc "Remove slashes from old-style URLs"
task :substitute_slashes => :environment do
Modelname.find(:all).each do |obj|
obj.fieldname.gsub!(/regex here/,'')
obj.save!
end
end
end
восклицательный знак в конце сохранения! означает, что он выдаст исключение, если результирующий объект не пройдёт валидацию, и в этом случае полезно проверить.
После этого вы сможете выполнить это с помощью команды rake db: substitute_slashes.