我有一个用户定义的外部 URL,我想通过使用类似于 Djangourlize
过滤器的东西将其转换为链接。怎么可能这样做呢?
我只需要在前面添加一些东西,http://
或者如果缺少的话。
除非我错过了,link_to
否则似乎不会这样做。
我有一个用户定义的外部 URL,我想通过使用类似于 Djangourlize
过滤器的东西将其转换为链接。怎么可能这样做呢?
我只需要在前面添加一些东西,http://
或者如果缺少的话。
除非我错过了,link_to
否则似乎不会这样做。
如果需要,这是一个简单的辅助方法,可以在前面添加 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"
我可以看到几个解决方案:
urlize(url)
,http://
如果它丢失则添加http://
http://
到 url,从而确保您的数据库中有有效的 url就个人而言,我只是有一些验证来检查输入的 url 是否有效。在这里,我会使用第三个选项。