我已经学习了几个月的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
答案 0 :(得分:1)
它应该在HTTP
属性中包含协议href
。
应该是:
<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">