ruby 中的 rest-client on rails - 多个请求
rest-client in ruby on rails -multiple request
我正在尝试在 rails 上 ruby 中构建一个网络 api,我正在使用 rest-client gem。
我已经尝试过这段代码,以便从多个网址获得响应并将响应一起显示
def index
url = (['http://example1','https://example2'])
url.split(",")
i = 0
url.each do |i|
render json: JSON.parse(RestClient::Request.execute( method: :get, url: url[i])), layout: nil
end
end
end
但我收到一条错误消息 "no implicit conversion of String into Integer"
错误来自这一行,而不是 url[i]
,仅使用 i
,因为 i 是您尝试访问的 url,例如,处理使用隐式转换:
render json: JSON.parse(RestClient::Request.execute( method: :get, url: i)), layout: nil
但是核心问题是多次渲染,这个可以通过先获取你需要的数据,最后再渲染一次数组来解决。
像这样:
def index
url_list = ['http://example1','https://example2']
responses = []
url_list.each do |url|
responses << JSON.parse(RestClient::Request.execute( method: :get, url: url))
end
render json: responses, layout: nil
end
我正在尝试在 rails 上 ruby 中构建一个网络 api,我正在使用 rest-client gem。 我已经尝试过这段代码,以便从多个网址获得响应并将响应一起显示
def index
url = (['http://example1','https://example2'])
url.split(",")
i = 0
url.each do |i|
render json: JSON.parse(RestClient::Request.execute( method: :get, url: url[i])), layout: nil
end
end
end
但我收到一条错误消息 "no implicit conversion of String into Integer"
错误来自这一行,而不是 url[i]
,仅使用 i
,因为 i 是您尝试访问的 url,例如,处理使用隐式转换:
render json: JSON.parse(RestClient::Request.execute( method: :get, url: i)), layout: nil
但是核心问题是多次渲染,这个可以通过先获取你需要的数据,最后再渲染一次数组来解决。
像这样:
def index
url_list = ['http://example1','https://example2']
responses = []
url_list.each do |url|
responses << JSON.parse(RestClient::Request.execute( method: :get, url: url))
end
render json: responses, layout: nil
end