Railsで引っ張ってきたデータベースのキーと値を、javascriptの配列にブチ込んで、
動的に表示させたいと思って、試してみた。
変数や配列をブチ込む分には、以下で問題なし。
------------[ javascript ]----------------------
jparam = <%= rparam %>
---------------------------------------------
ところが、ハッシュテーブルだと上みたいにすんなり挿入する事が出来ず。
多分、javascriptとrubyのハッシュの構造の違いなんだと思う。
------------------------------------------------
(ruby)   hash_r = {"key1"=>"val1", "key1"=>"val1"}
(javascript)hash_j = {"key1":"val1", "key1":"val1"}
------------------------------------------------
こんな風に。
なので、Rubyのハッシュは to_a メソッドで二次元配列にしてから javascriptに渡す。
が、findメソッドから引っ張ってきたデータは、ActiveRecord形式となっていて、
取り出す分には普通の二次元ハッシュと変わらないが、どうやら別物らしい。
なので、findメソッドでなく、select_all メソッドを使う。
こちらは戻り値が二次元ハッシュなので、javascriptに渡しやすい。
注意点として、select_all メソッドの前に、connectionを記述する事か。
そこから二次元ハッシュの要素を頭から取り出して、javascriptに移していければよかったんだけど、
困ったことに、文字列はこうしないと移し替えることができない。
------------[ javascript ]----------------------
jparam_st = "<%= rparam_st %>"
------------------------------------------------
なので、キー名を取得するときは "" 付きで。
…って事を考えてた。
メソッド一発で出来る方法とかあったら便利なんだけど、見つけきれなかった。
あと、Railsとjavascriptのインターフェースについて調べるとき、perlやphpの情報が結構参考になる。
perlやphpで使える事が、そんまま使える事も多い。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━