我编写了一个代码来将文档分配给患者:
file = Dir.entries('C:\Sites\what2\uploadnew').reject {|entry| entry == "." || entry == ".."}
file.each do |f|
a = File.read('C:\Sites\what2\uploadnew' + '/' + f) + f
@patients.each do |patient|
if [patient.nachnahme, patient.vorname, patient.geburtsdatum].all? {|i| a.include? i }
first = Patient.find_by_id(patient.id)
second = first.images.create(:url => 'C:\Sites\what2\uploadsave' + '/' + f[0..-5] + '.tif')
File.delete 'C:/Sites/what2/uploadnew/' + f
end
end
end
就像您在代码末尾看到的一样,我删除了文件:
File.delete 'C:/Sites/what2/uploadnew/' + f
但不知何故,这会导致问题。我得到错误:
Errno::ENOENT in DocumentsController#index
No such file or directory - C:/Sites/what2/uploadnew/filename.txt
奇怪的是,该命令有效,而 ruby 确实删除了该文件。表示文件不存在!那么为什么要向 ruby 索要这个文件呢?