我有一个CSV导入方法,用于呈现要导入的数据的确认/预览页面,我想将数据从预览传递到实际的导入方法。
在预览中,CSV已经变成了行的哈希值,我想将该哈希值传递给import方法。我尝试过这样做:
<%= hidden_field_tag "my_hash", @final %>
其中@final
是数据的哈希,但是它将哈希作为字符串传递,而在参数中,数据看起来像json。
"wi_hash"=>"{
\"name_fail\"=>[{\"scale_id\"=>\"509\",
\"name\"=>\"John Doe\",
\"date\"=>\"<no data>\",
\"current_weight\"=>\"999\",
\"bmi\"=>\"999\",
\"body_fat\"=>\"999\",
\"visceral_fat\"=>\"999\",
\"tbw\"=>\"999\",
\"muscle_mass\"=>\"999\",
\"basal_metabolic_rate\"=>\"999\"
....
}
我还能如何通过@final
以保持其哈希格式?
答案 0 :(得分:0)
我在另一个问题中找到了这个有用的助手:
def hash_to_hidden_fields(hash)
query_string = Rack::Utils.build_nested_query(hash)
pairs = query_string.split(Rack::Utils::DEFAULT_SEP)
tags = pairs.map do |pair|
key, value = pair.split('=', 2).map { |str| Rack::Utils.unescape(str) }
hidden_field_tag(key, value)
end
tags.join("\n").html_safe
end
它允许你传递haas作为参数。