如果包含三个语句ruby或比较数组?

时间:2013-07-25 15:45:12

标签: ruby-on-rails ruby

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

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.vornamepatient.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

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

if [patient.name,patient.vorname,patient.birthday].all? {|i| a.include? i }