为什么Launchy gem不会在Shoesrb中运作?

时间:2014-01-17 08:15:23

标签: ruby shoes

我似乎无法通过按钮在浏览器中打开网址。脚本在Shoes中运行,但按钮不执行任何操作。我做错了什么?

Shoes.setup do
  gem 'launchy'
end

require 'launchy'

Shoes.app do
    background "#EFC"
    border("#BE8",
           strokewidth: 6)

    stack(margin: 12) do
      para "Enter ID"
      flow do
        @e = edit_line

        id = @e.text

        fburl = "http://www.facebook.com/profile.php?id="

        #alert fburl+id

        button "OK" do
        Launchy.open("#{fburl}+#{id}")



      end
    end
  end
end

在进行建议的更改并使用“shoes.setup do”后,我收到以下错误:

Gem的未定义方法'目录:模块:344:在'method_missing'中C:/ Program Files(x86)/ Common Files / Shoes / O.r1514 / ruby​​ / lib / ruby​​gems / installer.rb:97:in'初始化'C:/ Program Files(x86)/ Common Files / Shoes / O.r1514 / lib / shoes / setup.rb:265:在'new'C:/ Program Files(x86)/ Common Files / Shoes / O. r1514 / lib / shoes / setup.rb:265:在'install_sources'中C:/ Program Files(x86)/ Common Files / Shoes / O.r1514 / lib / shoes / setup.rb:27:在'init C:/程序文件(x86)/公共文件/鞋子/ O.r1514 / lib / shoes / setup.rb:329:在''C:/ Program Files(x86)/ Common Files / Shoes / O.r1514 / lib / shoes中。 rb:105:在'require'中:C:/ Program Files(x86)/ Common Files / Shoes / O.r1514 / lib / shoes.rb:105:在'setup'鞋子Gem Loader.rb:1:在''C :/ Program Files(x86)/ Common Files / Shoes / O.r1514 / lib / shoes.rb:428:in'eval'C:/ Program Files(x86)/ Common Files / Shoes / O.r1514 / lib / shoes .rb:428:在'visit'C:/ Program Files(x86)/ Common Files / Shoes / O.r1514 / lib / shoes.rb:118:'show_selector C:/ Program Files(x86)/ Common Files /鞋/ O.r1514 / lib中/ shoes.rb:151:在'阻止(4级飞溅'(null):0:在'call'

我是否认为launchy不是鞋中可用的宝石?

2 个答案:

答案 0 :(得分:1)

“原创”鞋子与宝石搭配不佳。最新版本的Shoes(Shoes 4)让您可以正常使用宝石。这是pre-alpha,但功能完全。这是你的代码被修改为在Shoes 4中运行。请注意,id分配必须移动到按钮块中(但这对任何版本的鞋都是必要的)

require 'launchy'

Shoes.app do
  background "#EFC"
  border("#BE8", strokewidth: 6)

  stack(margin: 12) do
    para "Enter ID"
    flow do
      @e = edit_line

      fburl = "http://www.facebook.com/profile.php?id="

      button "OK" do
        id = @e.text
        alert fburl+id
        Launchy.open("#{fburl}+#{id}")
      end
    end
  end
end

要安装鞋子4,请按照instructions on GitHub进行操作,并确保gem install launchy。然后你应该能够run your app

答案 1 :(得分:0)

这是因为Red shoes有不同的(独立的)Ruby安装,所以宝石在不同的文件夹中。

为了使用宝石,你应该这样做:

Shoes.setup do
  gem 'launchy'
end

PS。如果您使用的宝石不兼容,它仍然可能无效,我记得,使用Ruby 1.9.1 红鞋在我的电脑上使用这个版本。我不确定其他操作系统。

相关问题