我成功实现了将数据从 csv 导入 MySQL 数据库的任务。现在,我的要求是:如果导入时 csv 文件中的数据有任何不匹配,我需要获取带有行号的错误消息。
这是我的控制器代码:** require 'csv'
#在顶部,然后是...
def load_csv
# no code
end
def import_csv
parsed_file = CSV.foreach(params[:csv].tempfile,:headers => true) do |row|
row = row.to_hash.with_indifferent_access
Institute.create!(row.to_hash.symbolize_keys)
redirect_to :action => :index
end
在我看来/ load_csv.html.erb:
<%= form_for(:institute, :url => import_csv_institutes_path, :html => {:multipart => true}) do |f| %>
<div class="field">
<%= file_field_tag :csv %>
<%= f.submit 'Import' %>
</div>
<% end %>
这是我用于导入的仅有的两个步骤。模型验证仅适用于表单和 csv,显示错误页面..请尝试帮助我............