Ruby on rails 为什么Dir.glob在Rails应用程序模板中返回空数组?

Ruby on rails 为什么Dir.glob在Rails应用程序模板中返回空数组?,ruby-on-rails,ruby,glob,Ruby On Rails,Ruby,Glob,我正在使用.remove文件实现一个自定义,该文件列出了文件的全局样式模式(例如app/***.erb),将在捆绑包安装完成后删除: removals = File.readlines('/path/to/.remove') cwd = Dir.getwd after_bundle do # Process removals removals.each do |pattern| puts 'glob:'+cwd+'/'+pattern # glob:/Us

我正在使用
.remove
文件实现一个自定义,该文件列出了文件的全局样式模式(例如
app/***.erb
),将在
捆绑包安装完成后删除:

removals = File.readlines('/path/to/.remove')
cwd = Dir.getwd

after_bundle do
  # Process removals
  removals.each do |pattern|

    puts 'glob:'+cwd+'/'+pattern           # glob:/Users/acobster/starfruit/app/**/*.erb
    puts Dir.glob(cwd+'/'+pattern).count   # 0
    puts `tree #{cwd}/app`                 # all files in the app tree, 
                                           # including several .erb files

    Dir.glob(cwd+'/'+pattern).each do |filepath|
      puts "        removing #{filepath}"
      remove_file(filepath)
    end
  end
end
根据调试代码(请参见上面的注释),我要删除的文件(在本例中,app/tree下的所有.erb文件)都在树中,但与
Dir.glob('/Users/acobster/starfruit/app/***.erb')等效的
返回的是空数组

更奇怪的是,当我从
irb
运行
Dir.glob('/Users/acobster/starfruit/app/***.erb')
时,它会正确返回包含三个.erb文件的数组


发生了什么事?

原来我只是忘了从全局模式中去掉换行符。我把第一行改为

removals = File.readlines('/path/to/.remove').map(&:strip).reject(&:empty?)