我似乎无法通过按钮在浏览器中打开网址。脚本在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 / rubygems / 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不是鞋中可用的宝石?
答案 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 红鞋在我的电脑上使用这个版本。我不确定其他操作系统。