2012-05-07 3 views
0

사람들이 웹 사이트 주소를 포함하여 정보를 입력 할 수있는 작은 시스템을 만들려고합니다. 일부 사용자는 '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

더 명확 넣어를; 그걸로 아무것도하지 마라. 'https : //'를 입력했다면 어떨까요?). – Ashe

+0

@Len - 포인트가 있습니다. – Hauleth

0

나는 이것에 대한 보석을 사용하는 것이 좋습니다 것 - 모든이 직접 작성하려고 할 이유가 없습니다.

귀하의 요구에 맞는 것입니다. 이 다른 수 있지만이 것은 유용 할 것 같습니다하고 예의 바른 다음이 있습니다 : blah.com` 두 개의 완전히 다른 주소가 될 수 www.blah.com`와``,

https://github.com/conickal/validates_url_format_of

관련 문제