2010-12-11 22 views
1

私はgchartrbで作成したグラフをルビーに表示する方法を知りました。私は与えられたURLからの画像を単に要求することによってそれをしようとしましたが、それはエラー "Bad URI"を与えます。どうすればいいのですか?おかげルビにgooglechartを表示するにはどうすればよいですか?

require 'rubygems' 
require 'google_chart' 





# Pie Chart 
GoogleChart::PieChart.new('320x200', "Pie Chart",false) do |pc| 
    pc.data "Apples", 40 
    pc.data "Banana", 20 
    pc.data "Peach", 30 
    pc.data "darn", 600 

    $chart = pc.to_url 

end 

require 'fox16' 

include Fox 

class Image_Viewer <FXMainWindow 
    def initialize(app) 
    super(app, "Image Viewer", :opts => DECOR_ALL, :width => 500, :height => 450) 
    require 'open-uri' 
    @pic = Kernel.open($chart, "rb") 
    @pic2 = FXPNGImage.new(app, @pic.read) 
    FXImageFrame.new(self, @pic2) 

end 
    def create 
    super 
    self.show(PLACEMENT_SCREEN) 
end 

end 


app = FXApp.new 
mainwin = Image_Viewer.new(app) 

app.create 
app.run 
+0

グローバル変数$ chart、pc = GoogleChart :: PieChart {..}は必要ありません。 pc.to_url – tokland

答えて

0

(おそらく|の使用)URI::parseはURL Googleが生成好きではないように思われます。したがって、使用する前にそれをエンコードしてください:

@pic = Kernel.open(URI::encode($chart)) 
+0

よろしくお願いいたします。 –

関連する問題