2011-07-26 83 views
0

這是我第一次從頭開發一個rails應用程序。我的代碼的目標是使用標題和鏈接(都存儲在數據庫表中)將用戶重定向到鏈接。 (問題)當我點擊鏈接標題時,我被重定向到localhost:3000/google.com而不是google.com。 (假設google.com是link.link的值)在Web應用程序外重定向?

<h1>Links#index</h1> 

<% @links.each do |link| %> 
<p> 
<%= link_to link.title, link.link %> 
</p> 
<% end %> 

注:

(1)使用的Rails 3.1

(2)我的routes.rb文件的內容是以下(不知道,如果使用的resources :links有事情做與我的問題)

CodeHed::Application.routes.draw do 
    resources :links 
    get "links/index" 
    root :to => "links#index" 
end 
+0

已解決。您必須在表中包含HTTP://以及表格中的url值,以便將應用程序之外的用戶重定向。否則,該值將被附加到當前的URL。與localhost:3000/google.com的情況一樣。 – Dru

回答

1

前綴以「http://」您的鏈接?如果沒有,嘗試添加在編程的東西,如:

def add_http(link) 
    if (link =~ /http(?:s)?:\/\//) 
    link 
    else 
    "http://#{link}" 
    end 
end 

如果不工作,那麼你可以簡單地輸入原始的HTML:

<h1>Links#index</h1> 

<% @links.each do |link| %> 
<p> 
    <%= link_to title, add_http(link) %> 
</p> 
<% end %> 

(我沒有檢查這個代碼)

+0

在我意識到你回答之前,剛剛評論了我自己的問題。這是問題所在。謝謝。 – Dru

+0

在我意識到這是問題之前,我嘗試了「a href」方法。僅供參考,沒有http://它只是將url添加到當前的URL中。 – Dru

相關問題