在我看来,我将一组哈希值保存在隐藏字段中
<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 个哈希)的原始形式,问题的一半是:值。我不希望它被存储,我不知道如何解析它来获取数组。基本上我想要
[{"a"=>nil, "b"=>nil, "c"=>0]