Rails CSV上传,在填充数据库的字段上只有特定的数据行进行验证

时间:2013-05-29 23:17:06

标签: ruby-on-rails ruby-on-rails-3

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

找到无效字段后,如何拒绝整个csv文件?谢谢。

1 个答案:

答案 0 :(得分:1)

您应该将整个通话包装在一个交易中。假设您的模型是用户:

ActiveRecord::Base.transaction do
    CSV.each do |l|
        a = User.new(l)
        if !a.save
          raise ActiveRecord::Rollback
        end
     end
   end
end