我有一个用户定义的外部URL,我希望通过使用类似于Django urlize
过滤器的内容将其转换为链接。一个人怎么可能这样做?
我只需要在前面的http://
中添加一些内容,或者在缺少的情况下添加任何内容。
除非我错过了,link_to
似乎没有这样做。
答案 0 :(得分: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"
答案 1 :(得分:1)
我可以看到几个解决方案:
urlize(url)
,如果缺少则会添加http://
http://
http://
添加到网址,从而确保您的数据库中有一个有效的网址就个人而言,我只是有一些验证,检查输入的网址是否有效。在这里,我会使用第3个选项。