2015-12-30 69 views
0

我有一個Rails應用程序,用戶可以在該模型中發佈鏈接。下面是代碼解釋:Rails:將純文本轉換爲與rails_autolink鏈接

應用程序/視圖/銷/ _form.html.erb:

<%= f.text_field :website, placeholder: "http://wwww.website.com" %> 

在我的觀點:

<% if @pin.website.blank? %> 
<% else %> 
    <a href="<%= @pin.website %>" target="_blank"> 
<% end %> 

它運作良好,如果用戶把該字段中的完整網址(http://www.website.com),但是如果他忘記添加「http://」=>(www.website.com),則該網頁顯然會被破壞。

我正在考慮使用gem auto_link但我對如何使用它有點困惑。下面是我的配置:

gemfile.rb

gem 'rails_autolink', '~> 1.1', '>= 1.1.6' 

觀點:

<% if @pin.website.blank? %> 
<% else %> 
    <%= auto_link(@pin.website) %> 
<% end %> 

application.rb中

require 'rails_autolink' 

但它只是不起作用,鏈接顯示爲純文本。任何幫助,我錯過了什麼。我一直在尋找其他線程,但似乎沒有解決我的問題...

更新: 現在運行良好,如果用戶通過www只是與www。並沒有http://,但有沒有辦法將這樣的原始文本轉換爲:website.com到http://www.website.com

回答

1

自動鏈接仍然需要在網址上加上HTTPHTTPS。我的建議是從控制器層去解析它。如果提交的網站中沒有「http」,則添加它。