如何在ruby Shoes GUI应用程序中创建简单的http请求?

我正在尝试向运行在localhost:3000的本地rails应用程序发出一个简单的http请求。 我的应用程序的代码非常处于原型阶段,因为我只是在尝试其他任何事情之前尝试获取原始function。

rails应用程序在解析之前只返回看起来像这样的JSON

"{\"response\":\"foo is blank\"}" 

这是我正在尝试的代码:

 require 'net/http' def get_response return Net::HTTP.get(URI.parse("http://localhost:3000")) end Shoes.app(:width => 280, :height => 350) do flow do stack do button "make http request and display results in an alert box" do x = get_response alert x end# of button end# of stack end# of flow end 

我也尝试将该方法放在Shoes.app块中无济于事。 执行时,这将创建它应该创建的所有元素,但是当我单击按钮时没有任何反应。

我知道你不应该用ruby鞋做任何实用的事,但我还是在尝试。 谢谢你的时间

当我尝试运行您的代码时,我的问题是Shoes应用程序无法使用localhost在本地连接。 请使用计算机的本地IP地址,而不是使用localhost

所以只需改变这个:

Net::HTTP.get(URI.parse("http://localhost:3000"))

对此:

Net::HTTP.get(URI.parse("http://10.1.4.123:3000"))

如果您的计算机的本地IP是10.1.4.123

要查看确认发生这种情况的错误日志,请将此行插入鞋子应用程序的顶部: Shoes.show_log

或者在Shoes.app中运行*.rb文件时,只需在Mac上输入cmd + /或在Windows中按ctrl + / (?)

对我来说,出现的错误是:

Connection refused - connect(2) for "::1" port 3000