0

我成功实现了将数据从 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,显示错误页面..请尝试帮助我............

4

1 回答 1

0

将错误消息分配给 import_csv 方法中的 flash[:notice] 变量。在重定向之前执行此操作。

http://guides.rubyonrails.org/action_controller_overview.html

于 2012-04-11T14:05:05.307 回答