2011-10-20 11 views
1

ユーザーがURLを入力する文字列があります。この文字列は後でindex.htmlに表示されます。それをどうすれば外部リンクにすることができますか?現在、リンクは必要に応じて表示されますが(www.facebook.com/testerなど)、リンクをクリックすると、「/www.facebook.com/tester」ルーティングエラーに一致するルートはありません。私はuser.facebook.linkを試みたが、うまくいかなかった。レールへの外部リンクを追加するアプリケーション

href = ""を追加しようとしましたが、運がありません。

@Mischaで述べたように
<%= link_to nil, user.facebook %> 
+0

エラーメッセージには何も一致しないとのメッセージがありますか? – Andy

+0

@Andy no routeは "/www.facebook.com/tester"と一致します。リンクが内部ルートに属するとRailsが考えると仮定します。しかし、それは私が探しているものではありません。リンクは別のサイト(この場合はFacebook)に移動する必要があります。 – Tony

+4

"http://"部分が含まれていない場合、それは相対リンクだと思うでしょう。単に通常の '' tag or a helper that wraps one up? –

答えて

4

、あなたが追加することができます。<%=link_to nil,"http://#{user.facebook}"%>プロトコルがリンクに追加したし。

+0

入力が "http:"のドメインと "www"で始まるドメインから異なる場合はどうなりますか? "http:"はいくつかのドメインに別の "http:"を追加し、動作しません。これを回避する方法はありますか? – Tony

+0

「http」が含まれているかどうかをスキャンする方法を使用できます。たとえば: 'user.facebook.scan(\^http \)'は、文字列がhttpで始まらない場合は空の配列を返します。 – leenasn

関連する問題