Ruby on rails 验证csv文件中与mysql数据库字段匹配的行和列
我完成了将csv文件导入MySql数据库的任务。但现在我的要求是: 1.csv文件的行和列应与MySql数据库的行和列相匹配,这样,如果缺少任何行或列,则应引发错误:“缺少@row1或column 2”。。 2.在我的代码中,表格标题,即名称、位置、城市等;每次导入时,标题经常重复 我的代码如下:Ruby on rails 验证csv文件中与mysql数据库字段匹配的行和列,ruby-on-rails,Ruby On Rails,我完成了将csv文件导入MySql数据库的任务。但现在我的要求是: 1.csv文件的行和列应与MySql数据库的行和列相匹配,这样,如果缺少任何行或列,则应引发错误:“缺少@row1或column 2”。。 2.在我的代码中,表格标题,即名称、位置、城市等;每次导入时,标题经常重复 我的代码如下: def load_csv end def import_csv csv=params[:file].read n=0 parsed_file = CSV.parse(csv) parsed_fi
def load_csv
end
def import_csv
csv=params[:file].read
n=0
parsed_file = CSV.parse(csv)
parsed_file.each do |row|
i=User.new
i.name = row[0]
i.location = row[1]
i.city = row[2]
if i.valid?
i.save
n=n+1
GC.start if n%50==0
flash[:notice] = "CSV Imported Successfully, with #{n} records"
end
end
在以下观点中:
<%= form_for(:user, :url => import_csv_user_path, :html => {:multipart => true}) do |f| %>
<table>
<tr>
<td>
<label for="dump_file">
Select a CSV File :
</label>
</td>
<td ><%= file_field_tag :file -%></td>
</tr>
<tr>
<td colspan='2'><%= submit_tag 'Submit' -%></td>
</tr>
</table>
<% end -%>
import_csv_user_path,:html=>{:multipart=>true})do | f |%>
选择一个CSV文件:
请帮帮我吧……我和你现在的工作一样。然而,我不认为这是一个很好的/直接的/简洁的/优雅的解决方案,因为这(验证CSV文件)不是一个很好的要求,对我来说,它与数据库/模型的“版本控制”是一样的。它可能会把你所有的代码弄乱,尤其是对于那些不是专家的人来说 好的,投诉完成了。让我分享我的解决方案:
这是您的代码,空加载\u csv方法?好的。你的意思是,我所做的编码不符合我的要求。。我是RubyonRails新手。你能通过提供任何有趣的链接来引导我找到正确的路径吗?或者我如何修改我的代码??。。