Ruby on rails 3 activerecord未销毁

Ruby on rails 3 activerecord未销毁,ruby-on-rails-3,activerecord,rake,Ruby On Rails 3,Activerecord,Rake,我有下面的代码,这是工作的大部分。但是,我确实收到了错误消息,它无法保存,因为邮件地址已经存在。当我先干掉所有人的时候,这怎么可能呢 我的猜测是:有多行具有相同的邮件地址(这是真的),但不知何故,它似乎并没有破坏通过下面的过程插入的那些行 有没有办法迫使它也考虑这些因素 namespace :db do desc "load vdc members from google CSV" task :load_csv_data => :environment do requi

我有下面的代码,这是工作的大部分。但是,我确实收到了错误消息,它无法保存,因为邮件地址已经存在。当我先干掉所有人的时候,这怎么可能呢

我的猜测是:有多行具有相同的邮件地址(这是真的),但不知何故,它似乎并没有破坏通过下面的过程插入的那些行

有没有办法迫使它也考虑这些因素

namespace :db do

  desc "load vdc members from google CSV"
  task :load_csv_data  => :environment do
    require 'csv'

    CSV.foreach("data.csv",{:headers=>:first_row}) do |row|

      User.destroy_all(:email => row[7])

      user = User.new(
          :password => "temppwd",
          :name => row[1],
          :first_name => row[2],
          :birth_date => row[3],
          :street => row[4],
          :zipcode => row[5],
          :town => row[6],
          :email => row[7],
          :certificate_id => Certificate.find_by_name(row[9]).id,
          :external_certificates => row[11],
          :education_level => row[12],
          :phone_number => row[15]
      )
      if user.save
        puts "saved " + row[1] + " " + row[2]
      else
        puts "Could not save " + row[1] + " " + row[2] + " due to "
        puts user.errors.full_messages.first if user.errors.any?
      end
    end
  end
end

您可以发布准确的错误消息吗?无法保存Peeters Mia,因为电子邮件已被接收