rake / rails .save! не обновляет базу данных

Я пытаюсь сохранить изменения в базе данных через задачу rake.

В моей задаче rake я делаю что-то вроде:

namespace :parts do
  desc "Update Parts table, swap names in title"
  task :swap => :environment do
    Part.swap
  end
end

В моем классе Part я делаю

def self.swap
  Part.all.each do |part|
    if (part.title =~ REGEX) == 0
      part.title.gsub! REGEX, '\2 \1'
      puts part.title
      part.save!
    end
  end
end

Однако это не сохраняет часть. Команда save! возвращает true. puts part.title возвращает нужное мне значение.

Если я вызываю

Part.update(part.id, title: part.title)

База данных обновляется правильно. Почему так происходит? Я делаю что-то не так в моем цикле? Я работаю с Rails 3.1.3, Rake 0.9.2.2 и MySQL2 0.3.7

8
задан Benjamin Udink ten Cate 2 January 2012 в 07:10
поделиться