2011-07-26 7 views
0

初めてレールアプリを開発するのは初めてです。私のコードの目的は、リンクをユーザーにリダイレクトするためにタイトルとリンク(どちらもデータベーステーブルに格納されている)を使用することです。 (問題)リンクのタイトルをクリックすると、google.comの代わりにlocalhost:3000/google.comにリダイレクトされます。ウェブアプリの外にリダイレクトしますか?

<h1>Links#index</h1> 

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

ノート(google.comはlink.linkの値であったと仮定すると):(1)レール3.1

を使用

を(2)私のroutes.rbをファイルの内容は、(以下であります)resources :linksの使用は私の問題とは何かを持っているかどうかわからない

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

解決済み。 Railsがアプリの外にユーザーをリダイレクトするには、テーブルにurl値とともにHTTP://を含める必要があります。それ以外の場合、値は現在の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

関連する問題