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



我试图向运行在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

相关内容

  • 没有找到相关文章

最新更新