Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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,尽管以http://(Rails 2)开头_Ruby On Rails_Ruby_Link To - Fatal编程技术网

Ruby on rails 链接到被视为内部的外部URL,尽管以http://(Rails 2)开头

Ruby on rails 链接到被视为内部的外部URL,尽管以http://(Rails 2)开头,ruby-on-rails,ruby,link-to,Ruby On Rails,Ruby,Link To,我正在使用 link_to "Click Here", "http://www.cnn.com" 它正在生成一个链接,链接如下href "localhost:3000http://www.cnn.com" 出于某种原因,它没有将http://识别为指示外部URL,并将其视为相对URL 我尝试转到的源并将其复制到我的应用程序助手中。我发现.html\u safe正在进行转换,因为当我取出它时,它按预期工作 我不知道它使用的是哪个html\u安全的。当我在源代码中复制时,它也工作得很好。因此,我

我正在使用

link_to "Click Here", "http://www.cnn.com"
它正在生成一个链接,链接如下href

"localhost:3000http://www.cnn.com"
出于某种原因,它没有将
http://
识别为指示外部URL,并将其视为相对URL

我尝试转到的源并将其复制到我的应用程序助手中。我发现
.html\u safe
正在进行转换,因为当我取出它时,它按预期工作

我不知道它使用的是哪个
html\u安全的
。当我在源代码中复制时,它也工作得很好。因此,我假设
link\u to
使用的
html\u-safe
正在解析为其他内容,即使该视图是一个Haml文件

根据我在Haml方法中看到的,似乎
html\u safe
调用
html\u safe
在字符串认为不安全时转换字符串

我使用的是普通的美式英语/拉丁语字符集,所以我不明白为什么它不能正确解析
http://

我使用的是Rails 2.3.5


目前,我计划将href代码输入到我的视图中,以避免调用
link\u来查看外部链接,但如果有人能帮我弄清楚到底发生了什么,我将不胜感激。谢谢

我无法重现这种行为,但听起来像是个bug。另外请注意,Rails 2.3.5已经很旧了。我相信目前的2.3.x版本是2.3.12

作为旁注,您提到的API文档是针对Rails 3.1.3的。因此,您将无法从这些文档中获得有用的2.3.5调试信息。阅读应用程序中实际使用的源代码的最简单方法是查看开发机器上的gems文件夹


无论如何,像您这样手工编写
标记肯定没有什么错。事实上,它的效率稍高一些,因为它避免了在
link\u to
中执行Ruby代码。因此,实际上最好还是继续做你正在做的事情。

我在ERB文件中也遇到了同样的问题,我的问题在我使用带引号的链接而不是不带引号的链接时得到了解决,并在之后调用了html\u safe。也许你的问题也会得到解决

小点。不要使用“点击这里”它不是描述性的或在任何方面都没有帮助我不会使用静态链接的动态链接创建;总是比较慢。