Tag: uri

使用s3_direct_upload gem的错误URI错误(Javascript / RoR)

我收到错误的URI错误。 我假设uri是通过S3_uploader函数形成的。 我能够上传到s3服务器,但代码在到达我的视图/模型之前停止执行,并且数据库中没有数据存储。 我在下面的视图和.js文件中发布了代码。 我意识到[object%20Object]是因为尝试将{}转换为字符串而产生的,但是从我的代码中删除它们并不会更改错误消息。 有人可以帮助我了解这里的问题(uri正在形成的地方)以及我如何解决这个问题? 我已经坚持了一段时间。 万分感谢。 错误: [2015-02-21 11:44:42] ERROR bad URI `/bands/1/[object%20Object]’. (Console) [Error] Failed to load resource: the server responded with a status of 400 (Bad Request) ([object Object], line 0) (Safari dev window) 使用Javascript: var ready; alert(“Hello”); ready = function() { $(function() { $(‘#s3_uploader’).S3Uploader( { remove_completed_progress_bar: true, progress_bar_target: $(‘#uploads_container’) } […]

直接访问页面时忽略先前URL的URI(request.referer).path

我正在尝试在会话中保存以前的URL,我目前有这个代码: after_filter “save_my_previous_url”, only: [:renderForm, :renderQuote] def save_my_previous_url if URI(request.referer).path session[:my_previouse_url] = URI(request.referer).path else session[:my_previouse_url] = URI(request.referer).path end end 当你从一个页面,到一个表单,然后到感谢页面,它工作,但如果你直接直接访问一个表单而不是单击一个链接,我会收到此错误: bad argument (expected URI object or URI string) 所以我需要一些如果没有以前的url时忽略这一点。

获取当前操作的路径/ url,包括查询字符串? (导轨)

简单的问题 – 如何获取包含查询字符串的当前操作的路径或完整URL? 我希望将它保存到会话变量,如下所示: def show @thingy = Thingy.find(params[:id]) session[:some_var] = current_url … end 目前我正在做以下事情,但它似乎有点笨拙(特别是单独指定查询字符串参数): def show @thingy = Thingy.find(params[:id]) session[:some_var] = thingy_path(@thingy, :q1 => params[:q1], :q2 => params[:q2]) … end

将ruby hash转换为URL查询字符串…没有那些方括号

在Python中,我可以这样做: >>> import urlparse, urllib >>> q = urlparse.parse_qsl(“a=b&a=c&d=e”) >>> urllib.urlencode(q) ‘a=b&a=c&d=e’ 在Ruby [+ Rails]中,我无法弄清楚如何在没有“滚动我自己”的情况下做同样的事情,这看起来很奇怪。 Rails方式对我不起作用 – 它为查询参数的名称添加方括号,另一端的服务器可能支持也可能不支持: >> q = CGI.parse(“a=b&a=c&d=e”) => {“a”=>[“b”, “c”], “d”=>[“e”]} >> q.to_params => “a[]=b&a[]=c&d[]=e” 我的用例很简单,我希望使用URL的query-string部分中的某些值的值。 依靠标准库和/或Rails似乎很自然,写下这样的东西: uri = URI.parse(“http://example.com/foo?a=b&a=c&d=e”) q = CGI.parse(uri.query) q.delete(“d”) q[“a”] << "d" uri.query = q.to_params # should be to_param or to_query instead? puts Net::HTTP.get_response(uri) 但是,只有结果URI实际上是http://example.com/foo?a=b&a=c&a=d […]

如何通过检查URI是否引用给定的域名来validationURI?

我正在运行Ruby on Rails 4.1.1,我想通过检查URI是否在给定的域名内来validationURI。 也就是说, uri字符串可以作为params发送到我的控制器,我想检查uri “引用”我的应用程序域名www.myapp.com 。 当然, uri应该是有效的URI引用 。 # Invalid URIs www.website.com http://www.website.com http://www.website.com/ https://www.website.com/ ftp://www.website.com/ ftps://www.website.com/ http://www.website.com/some/path # Valid URIs www.myapp.com http://www.myapp.com http://www.myapp.com/ https://www.myapp.com/ ftp://www.myapp.com/ ftps://www.myapp.com/ http://www.myapp.com/some/path 我怎样才能做到这一点(也许只使用Ruby on Rails)? 注意:我正在validationURI,以便允许用户设置自定义重定向,并且我知道漏洞 。 我计划在application_controller.rb声明的方法中运行validation。

我如何修补ruby的URI.parse方法

一些流行的博客网站通常在其url中使用方括号,但是ruby的内置URI.parse()方法会对它们产生影响,引发一个令人讨厌的exception,如: http ://redmine.ruby-lang.org/issues/show/ 1466 我正在尝试编写一个简单的猴子补丁,它使用方括号优雅地处理URL。 以下是我到目前为止的情况: require ‘uri’ module URI def self.parse_with_safety(uri) safe_uri = uri.replace(‘[‘, ‘%5B’) safe_uri = safe_uri.replace(‘]’, ‘%5D’) URI.parse_without_safety(safe_uri) end alias_method_chain :parse, :safety end 但是在运行时会产生错误: /Library/Ruby/Gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/module/aliasing.rb:33:in alias_method:NameError:模块’URI’的未定义方法’解析’ 我怎样才能成功修补URI.parse?

Ruby URI模块生成非法的文件URI

这是将文件路径转换为URI的后续问题。 考虑: require ‘uri’ uri = URI.join(‘file:///’, ‘/home/user/dir1/dir2/dir3/name.ext’) => # uri.to_s => “file:/home/user/dir1/dir2/dir3/name.ext” 结果不是非法的吗? Shoudl不是”file://home/…” ,有一个双斜线?

URI.parse的替代方法,允许主机名包含下划线

我正在使用DMOZ 的url主题列表 ,其中包含一些主机名包含下划线的url。 例如: 608 609 The Outer Heaven 610 Information and image gallery of McFarlane’s action figures for Trigun, Akira, Tenchi Muyo and other Japanese Sci-Fi animations. 611 Top/Arts/Animation/Anime/Collectibles/Models_and_Figures/Action_Figures 612 虽然这个url可以在网络浏览器中使用(或者,至少在我的网站中也是如此:p), 根据标准 , 这是不合法的 : 主机名可能不包含其他字符,例如下划线字符(_), 尝试使用URI.parse解析此类URL时会导致错误: [2] pry(main)> require ‘uri’ => true [3] pry(main)> URI.parse “http://outer_heaven4.tripod.com/index2.htm” URI::InvalidURIError: the scheme http does not accept […]

在Ruby中解析URL字符串

我有一个非常简单的字符串,我想在ruby中解析并试图找到最优雅的解决方案。 该字符串的格式为/xyz/mov/exdaf/daeed.mov?arg1=blabla&arg2=3bla3bla 我想要的是:string1:/xyz/mov/exdaf/daeed.mov string2:arg1 = blabla&arg2 = 3bla3bla 所以基本上代表了吗? 但找不到一个好例子。 任何帮助,将不胜感激。

如何从字符串中提取包含非英语字符的URL?

这是一个简单的脚本,它带有一个带有德语URL的锚标记,并提取URL: # encoding: utf-8 require ‘uri’ url = URI.extract(‘München’) puts url http://www.example.com/wp-content/uploads/2012/01/M extract方法在ü处停止。 如何才能使用非英文字母? 我正在使用ruby-1.9.3-p0。