Ruby on rails CSV上载期间未应用验证

Ruby on rails CSV上载期间未应用验证,ruby-on-rails,validation,csv,ruby-on-rails-4,Ruby On Rails,Validation,Csv,Ruby On Rails 4,我的模型具有以下特点: validates_uniqueness_of :batch, :scope => :projectid 及 无论验证如何,csv都会上载并放置在数据库中(我故意尝试插入一条违反该验证的记录)。我不知道为什么它被允许在上传时违反验证 控制器: def import Order.import(params[:csv_file].tempfile) redirect_to orders_path, :notice => "Orders imp

我的模型具有以下特点:

validates_uniqueness_of :batch, :scope => :projectid

无论验证如何,csv都会上载并放置在数据库中(我故意尝试插入一条违反该验证的记录)。我不知道为什么它被允许在上传时违反验证

控制器:

  def import
    Order.import(params[:csv_file].tempfile)
    redirect_to orders_path, :notice => "Orders imported"
  end
表格:


'btn btn xs btn信息'%>
'btn btn xs btn成功'%>
  def import
    Order.import(params[:csv_file].tempfile)
    redirect_to orders_path, :notice => "Orders imported"
  end
<%= form_tag import_orders_path, multipart: true do %>
  <div class="controls">
  <%= file_field_tag :csv_file, accept: 'csv', :class => 'btn btn-xs btn-info' %>    
  <%= submit_tag "Upload Orders", :class => 'btn btn-xs btn-success' %>
  </div>
def self.import(csv_file)
    order = Order.new
    if order.valid? == false
      nil
    else
      CSV.foreach(csv_file, headers: true) do |row|
        Order.create! row.to_hash
      end
    end
  end