我试图向运行在localhost:3000的本地rails应用程序发出一个简单的http请求。我的应用程序的代码是非常在原型阶段,因为我只是试图获得原始功能之前,我尝试任何其他。
在解析之前,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
我也试过把方法放在鞋子里面。应用程序阻塞无济于事。当执行时,它创建了它应该创建的所有元素,但是当我单击按钮时什么也没有发生。
我知道你不应该能够用红宝石鞋做任何实际的事情,但我还是在尝试。感谢您的宝贵时间当我试图运行你的代码时,我的问题是鞋子应用程序无法使用localhost
本地连接。不要使用localhost
,而是使用计算机的本地IP地址。
所以改成
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