Rails HTTParty获取超时::错误

我有一个以API为中心的应用程序(/ api / v1 / users),它只是简单地以JSON格式返回所有用户。

我的问题是,如果我在控制器上调用该路由,它返回“Timeout :: Error”有什么问题?

class BaseController < ApplicationController def index return HTTParty.get('http://localhost:3000/api/v1/users').body end end 

更新

  • users_controller.rb(/ api / v1 / users)
  • application_controller.rb

https://gist.github.com/4359591

日志

http://pastie.org/5565618

如果我理解正确,你有一个API端点,在/api/v1/users ,你的BaseController#index正在调用该方法?

如果这是正确的,在相同的rails进程中,并且您正在开发模式下进行测试(我可以从您的url中进行测试),那么您只运行一个进程,它只能一次处理一个请求。 因此,如果您启动对BaseController#index的请求,它将向您自己的测试服务器启动另一个请求,该服务器正忙,并且它将等待它超时。

如果你想测试你的API,我会看一下像Postman这样的客户端工具。

HTH。