Rails:如何在Rails应用程序中添加外部链接

3

我有一个字符串,用户输入一个URL地址,稍后在index.html中显示。 我该如何将其转换为可工作的外部链接? 目前,链接按照应该的方式显示(例如www.facebook.com/tester),但是当我点击链接时,出现了“没有路由匹配”/www.facebook.com/tester”路由错误。 我尝试了user.facebook.link,但没有效果。

我还试过添加href="",但没有成功。

<%= link_to nil, user.facebook %>

错误信息显示没有匹配的路由是什么? - Andy
4
如果链接不包含"http://"部分,则会被视为相对链接。为什么不直接使用普通的<a ...>标签或包装它的帮助程序? - Dave Newton
@DaveNewton,我不需要使用<% %>来嵌入Ruby以显示他们输入的字符串吗? - Tony
当然,这并不意味着你需要使用链接助手(尽管你可能可以)。我将它们分开以避免认知负担(通常情况下)。<a href="http://facebook.../<%= user.facebook %>">前往Facebook</a> - Dave Newton
显示剩余3条评论
1个回答

6

正如@Mischa所提到的,您可以添加:

<%=link_to nil, "http://#{user.facebook}"%>

添加协议到链接中。

如果你需要给链接添加一个标签,比如说Facebook,你可以这么做:

<%=link_to 'Facebook', "http://#{user.facebook}"%>`

That's all.

I hope this helps


如果输入的域名有些以"http:"开头,而有些以"www"开头,怎么办?"http:"会在某些域名前面再加上一个"http:",导致无法正常工作。有没有解决方法? - Tony
你可以使用scan方法来检查字符串中是否包含"http"。例如:如果字符串不以http开头,user.facebook.scan(\^http\)应该返回一个空数组。 - leenasn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接