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