私の見解では、隠しフィールドにハッシュの配列を保存します
<div>
<%= hidden_field_tag :data_filtered, :value => @data_filtered %>
</div>
私のJavaScriptは
$(document).ready(function(){
freezeTopRow($('#dataTable'));
$("#export").click(function(){
var data1 = $("#data_filtered").val()
$.ajax({
type: "POST",
url: "export",
dataType: 'json',
data: {data_filtered: data1}
});
});
});
私のコントローラーは
def export
CSV.open("data.csv", "wb") do |csv|
csv << params[:data_filtered].first.keys
@data_filtered.each do |hash|
csv << hash.values
end
end
end
コントローラーに返された後に params[:data_filtered] を表示すると、次の文字列が表示されます。
"{:value=>[{"a"=>nil, "b"=>nil, "c"=>0}]}"
しかし、私はそれを元の形式 (ハッシュの配列、この場合は 1 つのハッシュのみ) にしたいと考えています。問題の半分は :value です。それを保存したくないので、それを解析して配列だけを取得する方法がわかりません。基本的に欲しい
[{"a"=>nil, "b"=>nil, "c"=>0]