RailsからJavaScriptへ配列を渡す方法


RailsからJavaScriptへ配列の渡し方がわからなかったので、調べた結果のメモです

解決方法

Rails側の配列を一旦Jsonにし、JavaScript側でそのJsonをパースし配列にしました
受け渡しには inputタグ を使いました

Rails側のコード

rails
def index
  @arr = ["りんご", "ゴリラ", "ラッパ", "パイナップル"]
  # 配列をJsonへ変換する 
  @arr_json = @arr.to_json.html_safe
end

html.erb側のコード

html.erb
<input name="arr_json" type="hidden" value=<%= @arr_json %> class='arr_json'/>

JavaScript側のコード

js
// arr_json取得
var arrJson = $('.arr_json').val();
// arr_jsonをパースし配列にする
var arr = JSON.parse(arrJson);
// 確認用のログ出力
console.log(arr);