在Web应用程序外部重定向?

时间:2011-07-26 21:56:10

标签: sql ruby-on-rails ruby model-view-controller

这是我第一次从头开发rails应用程序。我的代码的目标是使用标题和链接(都存储在数据库表中)将用户重定向到链接。 (问题)当我点击链接标题时,我被重定向到localhost:3000 / google.com而不是google.com。 (假设google.com是link.link中的值)

<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

1 个答案:

答案 0 :(得分: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 %>

(我没有检查过这段代码)