以下是Sinatra应用程序的片段,用户将在其中提交网址。我必须确保将http://
添加到网址前面,以便在我的应用程序之外进行路由。我如何陈述site
一次并访问它的属性? (第3行)
p.params= "www.ruby-lang.org/en/"
site = URI(p.params[:url])
site = "http://" + site.host + site.path + site.query
答案 0 :(得分:1)
如果您需要确保网址以http://
开头,为什么不使用正则表达式?
p.params = "www.ruby-lang.org/en/"
site = p.params.gsub(/^(?!http:\/\/)/, "http://")
# site = http://www.ruby-lang.org/en/
仅当字符串的开头不是后跟^(?!http:\/\/)
时, http://
才会匹配