在Rails中使用NetHTTP来命中Rails

Reb*_*ele 3 ruby ruby-on-rails net-http

我们有一个非常独特的用例,我们希望Rails控制器使用Net :: HTTP访问Rails应用程序中的路由.可以这样做吗?我正在尝试这样做时收到超时.当uri是一个单独的Rails应用程序时,当前代码有效,但当uri属于应用程序本身时则不行.这是当前控制器操作的要点:

def export_data
  uri = URI("http://localhost:3000")
  @data = JSON.parse( Net::HTTP.get(uri) )

  respond_to do |format|
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

忘记我们为什么要这样做.为什么这不起作用?是否可以进行修改以使其工作?提前致谢!

Jes*_*ott 8

它不起作用,因为您没有使用多线程服务器.您的请求即将进入并阻止服务器,直到它完成.在此期间,您向本地主机发出了未处理的请求.

简单方案?试试美洲狮.其他简单的解决方案,旋转两个rails实例,连接到第二个实例.