草庐IT

taglib-uri

全部标签

ruby-on-rails - 测试时错误的 URI(不是 URI?) |规范

我有这些奇怪的问题,我不知道如何解决。如果可以,请你帮助我。测试结果如下:1)AdmincaneditahotelFailure/Error:visitedit_admin_hotel_path(hotel)URI::InvalidURIError:badURI(isnotURI?):#./spec/requests/admin_spec.rb:32:in`block(2levels)in'2)AdmincaneditauserFailure/Error:visitedit_admin_user_path(admin)URI::InvalidURIError:badURI(isnotU

ruby - 如何在 Ruby 1.8 中解析 URI 的查询部分?

在Ruby1.8中,使用URI标准库,我可以解析http://au.easyroommate.com/content/common/listing_detail.aspx?code=H123456789012&from=L123456789012345使用URI.split获取["http",nil,"au.easyroommate.com",nil,nil,"/content/common/listing_detail.aspx",nil,"code=H123456789012&from=L123456789012345",nil]但是是否可以在不使用我自己的hackery的情况下从

ruby - 在 URI 上设置包含 [ ] 的路径

我正在尝试使用URI创建一个uri,但似乎不接受方括号([]):uri=URI.parse("http://example.com")uri.path=URI.escape("/test[1].png")URI::InvalidComponentError:badcomponent(expectedabsolutepathcomponent):/test[1].pngfrom/Users/something/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/generic.rb:823:in`check_path'知道怎么做吗?我是否应该不使

ruby - 从 Addressable 对象中获取完整的 URI?

如果我有一个这样的可寻址对象:uri=Addressable::URI.parse("http://example.com/path/to/resource/")我如何找回“http://example.com/path/to/resource/”——我查看了uri.methods,但我看不出我应该使用哪一个来找回完整的URI。 最佳答案 使用to_s方法:uri=Addressable::URI.parse("http://example.com/path/to/resource/")uri.to_s#=>"http://exam

ruby - 规范化 HTTP URI

我从Akamai的日志文件中获取URI,其中包含如下条目:/foo/jim/jam/foo/jim/jam?/foo/./jim/jam/foo/bar/../jim/jam/foo/jim/jam?autho=&file=jam我想根据规则将所有这些规范化为同一个条目:如果有查询字符串,去掉autho和file如果查询字符串为空,删除结尾的?../的目录条目应该被删除。/../的目录条目应该被删除。我本以为URIRuby的库将涵盖这一点,但是:它不提供任何解析部分查询字符串的机制。(并不是说这很难做到,也不是标准。)它不会删除尾随的?如果查询字符串为空。URI.parse('/foo

ruby-on-rails - 在 Rails 项目中要求 'open-uri' 是否安全?

我见过很多open-uri的例子,对于简单的事情来说它似乎非常棒。不过,要求它在全局范围内定义一个名为open的方法确实让我很困扰。这尤其令人不安,因为在Rails5控制台中四处寻找之后,似乎已经定义了一个名为open的方法:irb(main):001:0>openArgumentError:wrongnumberofarguments(given0,expected1..3)from(irb):1:in`initialize'from(irb):1:in`open'from(irb):1from/Users/ahamon/.gem/ruby/2.3.0/gems/railties-5

Ruby 1.9.3 向 URI.escape 添加不安全字符

我正在使用Sinatra并使用get'/foo/:bar'{}方法从url获取参数。不幸的是,:bar中的值可能包含像/这样导致404的讨厌的东西,因为没有路由匹配/foo/:bar/baz/.我使用URI.escape来转义URL参数,但它认为/有效是一个有效字符。如前所述here这是因为要检查的默认Regexp不区分不安全字符和保留字符。我想改变这个并这样做:URI.escape("foo__&_3_#_/_+_%_bar",Regexp.union(URI::REGEXP::UNSAFE,'/'))只是为了测试它。URI::REGEXP::UNSAFE是根据Ruby1.9.3Do

ruby-on-rails - URI 编码不起作用

在Rails应用程序上,我需要解析urisa='somefilename.txt'URI(URI.encode(a))#worksb='somefilenamewith:coloninit.txt'URI(URI.encode(b))#failsURI::InvalidURIError:badURI(isnotURI?):如何安全地将文件名传递给包含特殊字符的URI?为什么编码对冒号不起作用? 最佳答案 URI.escape(或encode)采用可选的第二个参数。它是一个正则表达式,匹配所有应该转义的符号。要转义您可以使用的所有非单

ruby-on-rails - 我如何解决 "bad argument (expected URI object or URI string)"? Ruby on Rails,Michael Hartl 教程

我正在关注RubyonRailsTutorial作者:MichaelHartl。我到达了Chapter11.37但我的测试失败了。我收到以下错误:Failure/Error:xhr:post,:create,relationship:{followed_id:other_user.id}ArgumentError:badargument(expectedURIobjectorURIstring)我是RubyonRails的新手,所以我真的不知道出了什么问题。有人可以帮助解决此错误吗?controllers/relationships_controller.rb:classRelatio

ruby - 是否可以让 open-uri 维护扩展?

在Ruby中,当你用open-uri打开一个远程文件时,文件对象最终有一个类似这样的路径:/tmp/20120329-2113-1-0762/open-uri20120329-1-7dit2c。我有一些文件处理取决于存在的文件的扩展名。使用open-uri时,有没有办法保留扩展名甚至强制扩展名?这是一个简短的交互,展示了当您使用open-uri打开一个远程文件并获取它的路径时会发生什么。该路径看起来与远程URL完全不同,因为它是为该对象生成的临时唯一文件,但问题是缺少扩展名:>require"open-uri"=>true>f=open("http://cdn.sstatic.net/