Open Flash Chart 2を試す
下の日記では愚痴しかでてこなかったOFCですが、OFC2になっていたのでそっちを試す。
Windowsでのインストール手順
以上!
・・・とは行かないみたい。
「vendor/plugins/open_flash_chart_2/requirements/swfobject.js」を「public/javascript/open_flash_chart_2」にぶち込む。
「vendor/plugins/open_flash_chart_2/requirements/open_flash_chart.swf」を「public」にぶち込む。
そして
project_home>rake open_flash_chart_2:install
せっかく、ぶち込んだファイルが再びぶち込まれる。
サーバーを再起動したら怒られた。
jsonが入っていなかった・・・orz
C:\Users\kenmituo>gem install json
Successfully installed json-1.1.9-x86-mswin32
1 gem installed
Installing ri documentation for json-1.1.9-x86-mswin32...
Installing RDoc documentation for json-1.1.9-x86-mswin32...
サンプルコードで試すけど、JSONのデータしか表示されない。
hamlが必要な場合があるっぽいので入れてみる。
C:\Users\kenmituo>gem install haml
Successfully installed haml-2.2.9
1 gem installed
Installing ri documentation for haml-2.2.9...
Installing RDoc documentation for haml-2.2.9...
Could not find main page README.rdoc
Could not find main page README.rdoc
Could not find main page README.rdoc
Could not find main page README.rdoc
特定のhtml.erbで呼び出したいので、こんな記述にする。
<%- content_for :html_header do -%>
<%- end -%>
使い方のサンプル
http://openflashchart2.sentor.pl/chart_examples/line
Documentationに重要なことが書いてある。
# in controller
@graph = ofc2(650,400, url_for( :controller => controller, :action =>action_name)
というのも、chartのサンプルコード
# in controller
#ofc2(width, height, url, base='/', id = '')
@graph = ofc2(650,300, 'charts_ofc2/line')
これだとデータを渡すのが俺にとっては面倒なのだ。
url_forを使えば、データを渡したりできる。
しかーし!やっぱり出来なかった、、、
ハッシュをセッションにぶち込む
graph_params = Hash.new
graph_params = {"year"=>@year, "month"=>@month, "this"=>@this, "prev"=>@prev, "next"=>@next }
session[:graph_params] = graph_params
@graph = ofc2(1000, 500, 'contoller_name/graph_code')
def graph_code
graph_params = session[:graph_params]
session[:graph_params] = nil
格好悪いけど、こんな感じでデータを渡す。
ひとまずおしまい。