所以我使用 rails 'link_to' 方法在用户点击外部网站时将其重定向到外部网站(链接位于谷歌地图标记信息框内)。我正在使用 Gmaps4rails gem。我正在标记信息窗口内构建链接,如下所示,在我的一个 Controller 中,其中每个@locations 都有一个网站作为其属性之一:
@hash = Gmaps4rails.build_markers(@locations) do |location, marker|
link = view_context.link_to "#{location.website}", location.website, target: "_blank"
description = "Website: #{link}"
marker.infowindow description
end
一切都绘制得很好,链接对大约一半的标记工作正常,如果您单击描述中的网站链接,您将在新选项卡中重定向到该网站。
但是,有些网站链接中我的代码表现得很奇怪;单击 url 会将您重定向到我的“网站 url + 标记的网站 url”,连接成一个 url。为什么会这样?
例如,点击标记中的某些网站链接后的 url 会将您重定向到这样的 url:“mywebsite.com/www.website_in_marker.com”。当然,我得到一个你正在寻找的页面不存在的错误。
最佳答案
很可能有些链接没有前置协议(protocol)(http、https 等)。 href 中没有协议(protocol)的任何内容都被假定为相对路径,这就是为什么某些链接会附加到您的站点而其他链接则不会。
检查并确保所有链接都包含协议(protocol)是解决问题的一种方法。
希望对您有所帮助!
关于html - ruby rails : link inside a gmaps marker description box redirects to a url appended to my website url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497650/