0

当我上传一个包含多行数据的 csv 文件时,其中一些是有效的(基于我在模型中的验证)而另一些不是,我的数据库会填充有效的条目,即使存在包含无效数据的行在 csv 文件中。

一旦发现无效字段,我应该怎么做才能拒绝整个 csv 文件?谢谢。

4

1 回答 1

1

您应该将整个调用包装在事务中。假设您的模型是 User :

ActiveRecord::Base.transaction do
    CSV.each do |l|
        a = User.new(l)
        if !a.save
          raise ActiveRecord::Rollback
        end
     end
   end
end
于 2013-05-29T23:25:45.543 回答