获取肯塔基州(KY)州和“默里”城市的天气报告的URI(替换apikey)
http://api.wunderground.com/api/apikey/conditions/q/KY/murray.json
我想使用输入框输入状态(例如:KY)和城市,并将它们作为变量传递给URI,以便我可以根据用户的选择使页面动态化,因此尝试将URI修改为:< / p>
http://api.wunderground.com/api/apikey/conditions/q/# {状态} / {#}城市上传.json
我无法将变量作为参数传递给此api URI并收到错误
“错误的URI(不是URI?):
我的weather.erb文件内容(部分代码):
<% provide(:title, "Weather") %>
<h1>Weather Forecast</h1>
<%=form_tag do%>
<%=label_tag 'Enter State (Eg:KY)'%>
<%=text_field_tag 'state'%><br>
<%=label_tag 'Enter City (Eg:Murray)'%>
<%=text_field_tag 'city'%><br>
<%=submit_tag 'submit '%>
<%end%>
<%
city = yield(:city).strip
state = yield(:state).strip
require 'open-uri'
require 'json'
open('http://api.wunderground.com/api/apikey/conditions/q/#{state}/#{city}.json') do |f|
..........
........
.....
%>
我完成了修改路由,application_controller并坚持这一点。
答案 0 :(得分:2)
替换
'http://api.wunderground.com/api/apikey/conditions/q/#{state}/#{city}.json'
到
"http://api.wunderground.com/api/apikey/conditions/q/#{state}/#{city}.json"
由于单引号不插入变量。