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