Разместите объект один раз и получите несколько атрибутов. - PullRequest
0 голосов
/ 28 марта 2012

Вот фрагмент из приложения Sinatra, где пользователи будут отправлять URL-адреса. Я должен убедиться, что к URL-адресу добавлен http://, чтобы выйти за пределы моего приложения. Как я могу указать site один раз и получить доступ к его атрибутам? (Строка 3)

  p.params= "www.ruby-lang.org/en/"
  site = URI(p.params[:url])
  site = "http://" + site.host + site.path + site.query 

1 Ответ

1 голос
/ 28 марта 2012

Если вам нужно убедиться, что URL начинается с http://, почему бы не использовать регулярное выражение?

p.params = "www.ruby-lang.org/en/"
site = p.params.gsub(/^(­?!http:\/\­/)/, "http­://")
# site = http://www.ruby-lang.org/en/

^(­?!http:\/\­/) соответствует только тогда, когда начало строки , а не затем http://

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...