素晴らしい宝石Domainatrixを試してみてください:
次に、次のコマンドを使用して、その場でURLを解析できます。
<%= Domainatrix.parse(@user.url).url %>
さらに良いことbefore_save
に、保存する前にURLを解析するアクションをユーザーモデルに作成します。
before_save :parse_url
def parse_url
if self.url
self.url = Domainatrix.parse(self.url).url
end
end
Domainatrixでできることのサンプルを次に示します。
url = Domainatrix.parse("http://www.pauldix.net")
url.url # => "http://www.pauldix.net" (the original url)
url.public_suffix # => "net"
url.domain # => "pauldix"
url.canonical # => "net.pauldix"
url = Domainatrix.parse("http://foo.bar.pauldix.co.uk/asdf.html?q=arg")
url.public_suffix # => "co.uk"
url.domain # => "pauldix"
url.subdomain # => "foo.bar"
url.path # => "/asdf.html?q=arg"
url.canonical # => "uk.co.pauldix.bar.foo/asdf.html?q=arg"