Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从url打开文件,路径包含通配符_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 从url打开文件,路径包含通配符

Ruby on rails 从url打开文件,路径包含通配符,ruby-on-rails,ruby,Ruby On Rails,Ruby,我可以打开带有通配符的本地文件,如下所示: require 'nokogiri' require 'open-uri' Dir.glob(Rails.root.join("public/system/xmls/**/original/*.xml")).each do |path| File.open(path) do |f| doc = Nokogiri::XML(f) #etc 但这当然行不通: Dir.glob("https://s3-eu-we

我可以打开带有通配符的本地文件,如下所示:

  require 'nokogiri'  
  require 'open-uri'
  Dir.glob(Rails.root.join("public/system/xmls/**/original/*.xml")).each do |path|
  File.open(path) do |f|      
  doc = Nokogiri::XML(f)
  #etc
但这当然行不通:

  Dir.glob("https://s3-eu-west-1.amazonaws.com/foldername/xmlimports/**/*.xml").each do |path| #etc

URL不提供列出目录内容的标准方法,因此不可能编写适用于任何URL的glob处理程序。对于这种特殊情况,您必须使用自己的glob处理程序,或者依赖类似于
wget
的东西来镜像整个目录并在本地对文件进行glob(但是如果文件很大,并且/或者您只需要处理其中的几个文件,那么这将是一种奇怪的方法)。

Harrumph。尽管如此,还是谢谢你,让我省了几个小时去尝试一项不可能完成的任务。我想我会重新考虑我的方法,并传入最近上传的文件的一个变量。