-3

我的代码列出了文件夹中的所有文档:

arr = [] 
file = Dir.entries('C:\Sites\what\upload').reject{|entry| entry == "." || entry == ".."}
file.each do |f|
a = File.read('C:\Sites\what\upload' + '/' + f) + f

并搜索存在patient.namepatient.vorname和的文件patient.birthday。如果是这样,程序会将此文档分配给患者:

@patients.each do |patient|
if a.include?(patient.name) || a.include?(patient.vorname) || a.include?(patient.birthday)

我的程序以某种方式将文档分配给与文档无关的用户,或者更好地说,文本中没有提到。我认为问题在于我的 if 语句是错误的。

如果我之前拆分文本并将新数组与 进行比较会更好[patient.name, patient.vorname, patient.birtday]吗?

arr << patient.id
first = Patient.find_by_id(patient.id)
second = first.images.create(:url => 'C:\Sites\what\upload' + f) 
end
end
end
4

1 回答 1

0

试试下面的:

if [patient.name,patient.vorname,patient.birthday].all? {|i| a.include? i }
于 2013-07-25T15:49:25.840 回答