4

我们有一个非常独特的用例,我们希望 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

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

4

1 回答 1

8

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

简单的解决方案?试试彪马。其他简单的解决方案,启动两个 rails 实例,连接到第二个实例。

于 2013-06-06T19:13:22.790 回答