在rails app + jquery中生成的链接错误地指向localhost

Link generated in rails app + jquery incorrectly directs to localhost

本文关键字:错误 链接 localhost app rails jquery      更新时间:2023-09-26

我已经学习RoR几个月了,我遇到了一个涉及Rails和javascript的奇怪问题。

HTML似乎包含正确的URL,但单击链接会转到localhost。

我的Rails应用程序中的链接首先使用Rails正确生成,然后使用replaceWith()

替换

这是rails生成的原始html

<a id="bookmark_button_16" class="btn btn-success" href="http://www.google.com"> <span class="glyphicon glyphicon-play"></span> </a>

这是用来替换DOM节点的javascript/ruby

// updates the url of the button $("#bookmark_button_<%= @bookmark.id %>").replaceWith("<a id='bookmark_button_<%= @bookmark.id %>' class='btn btn-success' href='www.example.com' ><span class='glyphicon glyphicon-play'></span></a>");

以下是在执行javascript

后直接从chrome的开发控制台复制的

<a id="bookmark_button_16" class="btn btn-success" href="www.example.com"><span class="glyphicon glyphicon-play"></span></a>

但是点击按钮会进入

localhost:3000/topics/www.example.com

而不是预期的http://www.example.com

应该在href属性中包含HTTP协议。

应该是:

<a id="bookmark_button_16" class="btn btn-success" href="http://www.example.com">

代替:

<a id="bookmark_button_16" class="btn btn-success" href="www.example.com">