0

Railsを使ってプロジェクトを作っていて、チャートを作る必要があるので、Rubyvisを使おうと考えていました。

コントローラーに次のコードがある場合:

require 'rubyvis'

vis = Rubyvis::Panel.new do 
  width 150
  height 150

  bar do
    data [1, 1.2, 1.7, 1.5, 0.7, 0.3]
    width 20
    height {|d| d * 80}
    bottom(0)
    left {index * 25}
  end   
end

vis.render    
puts vis.to_svg

出力をビューに表示するにはどうすればよいですか?

4

1 に答える 1

1

レンダリングされたビューに表示する SVG ファイルを実行時に生成することは、コントローラー内で行うべきことではありません。

app/helpers/application_helper.rb代わりに、コントローラー アクションに固有の新しいメソッドまたはヘルパーを作成します。

require "rubyvis"

class ApplicationHelper
  def some_method
    vis = Rubyvis::Panel.new do 
    width 150
    height 150

    bar do
      data [1, 1.2, 1.7, 1.5, 0.7, 0.3]
      width 20
      height {|d| d * 80}
      bottom(0)
      left {index * 25}
      end   
    end

    vis.render    
    vis.to_svg
  end
end

これで、ビューで、SVG データをダンプしたい場所で次のように呼び出すことができます。

<%= some_method %>
于 2013-04-05T12:05:11.297 に答える