2012-05-07 6 views
0

私は、人々が自分のWebサイトのアドレスを含めて情報を記入できる小さなシステムを作成しようとしています。のみ、一部の人々は "www.example.com"を入力し、いくつかは "http://www.example.com"を入力し、いくつかは "example.com"を入力します。最もクリーンな方法です何Rubyで完全なURLを作成する方法

  • 検証アルURLを、彼らはすべてのhttpを含めているという意味で://私はそれをクリックしたときに、私は正しくリダイレ​​クトされますし、また

  • リンク上に表示されるテキストについては、http://を使わないでバージョンを取得する最も簡単な方法は何ですか?

もちろん、いくつかの条件付きテキストの置き換えで狂っている可能性がありますが、これを行うにはより良い方法が必要です。

答えて

2

私はこのアドレスがhttp(s)://で始まることを確認してから追加します。 example.comwww.example.comで何もしないでください。アドレス全体が破壊される可能性があります。

だから、あなたが書くことができます。

url = 'http://' + url unless url =~ /\Ahttps?:\/\// 
+1

を。それで何もしないでください。 'http://'を追加しますが、スキームが存在しない場合のみ*( 'https://'を入力した場合は?) – Ashe

+0

@Len - あなたはポイントを持っています。 – Hauleth

0

を、私はこのために宝石を使用することをお勧めしたい - このすべてを自分で書こうとする理由はありません。

あなたのニーズに合ったものがあります。そこ他人であってもよいが、これは便利なようで、まともな以下の持っている可能性があります `www.blah.com`と` blah.com`が全く異なる2つのアドレス可能性があり、より明確に言えば

https://github.com/conickal/validates_url_format_of

関連する問題