2011-07-26 80 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

相关问题