Ruby on rails 从服务器导入后删除.csv文件
我可以从服务器导入.csv文件,但现在我只想在导入后将其删除。我将所有代码都放在一个rake任务中,并试图在任务完成后删除events.csv文件。这是我的密码Ruby on rails 从服务器导入后删除.csv文件,ruby-on-rails,ruby,csv,rake,Ruby On Rails,Ruby,Csv,Rake,我可以从服务器导入.csv文件,但现在我只想在导入后将其删除。我将所有代码都放在一个rake任务中,并试图在任务完成后删除events.csv文件。这是我的密码 require 'csv' require 'open-uri' namespace :import_incidents_csv do task :create_incidents => :environment do puts "Import Incidents" #csv_text = File.rea
require 'csv'
require 'open-uri'
namespace :import_incidents_csv do
task :create_incidents => :environment do
puts "Import Incidents"
#csv_text = File.read('/Users/Ben/Sites/ror/LFD/incidents.csv', :encoding => 'windows-1251:utf-8')
csv_text = open("http://www.##########.com/###########/incidents.csv") {|f| f.read}
csv = CSV.parse(csv_text, :headers => true)
@incident_id_array = []
@report_nr_array = []
csv.each do |row|
row = row.to_hash.with_indifferent_access
Incident.create!(row.to_hash.symbolize_keys)
@incident_id_array << Incident.last.id
@report_nr_array << Incident.last.report_nr
end
#------This combines the incidents array and the report_nr array into a hash
@report_incident_hash = {}
@report_nr_array.each_with_index do |value, index|
@report_incident_hash[value] = @incident_id_array[index]
end
#puts @report_incident_hash
#----------------------------------------------------------------------------
end
end
需要“csv”
需要“打开uri”
名称空间:导入事件
任务:创建事件=>:environment do
放入“导入事件”
#csv_text=File.read(“/Users/Ben/Sites/ror/LFD/incents.csv”,:encoding=>“windows-1251:utf-8”)
csv_text=打开(“http://www.##########.com/###########/incidents.csv“{| f | f.read}”
csv=csv.parse(csv_文本:headers=>true)
@事件\u id\u数组=[]
@报告编号数组=[]
csv.do每行|
row=具有访问权限的row.to_散列
事件。创建!(行到\u散列。符号化\u键)
@事件\u id\u array如果可以通过ssh连接到服务器,请尝试使用gem并运行“rm”命令