2

urlizeDjango のフィルターに似たものを使用して、リンクに変換したいユーザー定義の外部 URL があります。どうすればそれを行うことができますか?

http://不足している場合は、前に追加する必要があるだけです。

私がそれを見逃していない限り、それはlink_toしないようです。

4

2 に答える 2

2

必要に応じて http プレフィックスを追加する簡単なヘルパー メソッドを次に示します。

def url_with_protocol(url)
  /^http/.match(url) ? url : "http://#{url}"
end

> url_with_protocol("google.com")
=> "http://google.com"

> url_with_protocol("http://google.com")
=> "http://google.com"

> url_with_protocol("https://google.com")
=> "https://google.com"
于 2012-08-20T23:13:19.757 に答える
1

私はいくつかの解決策を見ることができます:

  • 不足している場合にurlize(url)追加するヘル​​パーを作成するhttp://
  • モデルの URL ゲッターをオーバーライドして、http://
  • モデルに before_save コールバックを追加してhttp://を URL に追加し、データベースに有効な URL があることを確認します

個人的には、入力された URL が有効であることを確認する検証がいくつかあります。ここでは、3 番目のオプションを使用します。

于 2012-08-20T21:44:03.643 に答える