コードがあります
file_paths = {nature:[], nature_thumb:[]}
正常に動作する Elsif バージョン:
Find.find('public/uploads') do |path|
if path =~ /.*nature.*\.(jpg|png|gif)$/ and path !~ /.*nature\/thumb.*\.(jpg|png|gif)$/
file_paths[:nature] << path
elsif
path =~ /.*nature\/thumb.*\.(jpg|png|gif)$/
file_paths[:nature_thumb] << path
#etc
end
end
ケースバージョンが問題を引き起こす
Find.find('public/uploads') do |path|
case
when path =~ /.*nature.*\.(jpg|png|gif)$/, path !~ /.*nature\/thumb.*\.(jpg|png|gif)$/
file_paths[:nature] << path
when path =~ /.*nature\/thumb.*\.(jpg|png|gif)$/
file_paths[:nature_thumb] << path
# etc
end
end
コンマの代わりに「&&」を入れると、エラーが発生します。コンマが正しく動作しません。これを回避する方法は?