Ruby on Rails添加外部链接报错:No route matches [GET] "/www.google.com"
问题分析与解决方案
哦,我太懂这个坑了!你遇到的是相对路径与绝对路径的典型问题。当前你的href="www.google.com"是相对路径写法,浏览器会默认把它当成当前网站域名下的子路径(比如你的站点是https://your-app.com,它就会请求https://your-app.com/www.google.com),这自然找不到对应的路由,所以才会抛出No route matches [GET] "/www.google.com"的错误。
要跳转到外部网站,必须使用带协议头的绝对路径,也就是在URL开头加上https://(优先推荐,更安全)或者http://。修改后的代码如下:
<div class="col-md-4"> <div class="thumbnail"> <a href="https://www.google.com" target="_blank"> <img src="/assets/laptop.jpg" alt="Fjords" style="width:100%"> <div class="caption"> <p>How to set up emails</p> </div> </a> </div> </div>
小提示
以后添加外部链接时,一定要记得加上协议头(https:///http://),否则浏览器都会默认按相对路径处理,大概率会出现类似的路由错误。
内容的提问来源于stack exchange,提问作者Yogi
相关产品推荐
相关产品推荐

