2014-01-28 141 views
0

我想創建一個外部鏈接到每個單獨的列表分配的網站地址。使用下面的代碼:(上市網站保存爲google.com創建鏈接到外部網站

<a href="<%= listing.website %>">External Link</a>

帶我到:

本地主機:3000/google.com

有什麼辦法生成一個鏈接到www.google.com,而不是試圖在我的應用程序中找到路線。

回答

2

它將您帶到localhost:3000/google.com的原因可能是您傳遞給href屬性的字符串不是完全限定的URL。

事實上,如果在HTML編寫

<a href="google.com">External Link</a> 

的字符串將追加到當前頁面的路徑。您應該確保您傳遞的輸入始終包含模式。如果輸入從來沒有包含,那麼你可以假設它是http://

<a href="http://<%= listing.website %>">External Link</a> 

但是,這是不是一個真正的解決方案,只是一個解決方法。您應該確保在填充website網址時存儲完整的網址。事實上,有些網站可能需要https

在Rails中,您通常使用url_forlink_to助手來生成URL,但除非您傳遞完整的URL,否則它們都會導致相同的問題。

<%= link_to "External Link", "http://#{listing.website}" %> 
+0

完美。謝謝。在時間限制結束時接受答案。 – Aluxzi

0

您需要輸入協議。

<a href="http://www.google.com">Google</a> 

你明白了嗎? =)

2

做到這一點Rails way

<%= link_to 'External Link', "http://#{listing.website}" %> 
+0

如果輸入不是完全合格的主機名,這不會奏效。它只會返回字符串,導致用戶描述的問題完全相同。 –

+0

@SimoneCarletti真實,誤解了他的答案:) – Agis

0

您可以像這樣創建鏈接:

<a href="http://www.google.com", target: "_blank">External Link</a>