2017-02-17 43 views
0

我有一個CSV導入方法,它呈現關於要導入的數據的確認/預覽頁面,並且我想將數據從預覽傳遞到實際的導入方法。Rails 4:將CSV作爲散列傳遞爲隱藏字段

在預覽中,CSV已經變成行的散列,我想將該散列傳遞給導入方法。我試着簡單地做:

<%= 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

你是什麼意思,以便它保持其散列格式?請編輯您的問題,以包含您希望呈現的HTML看起來像什麼的示例。 –

回答

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 

它可以讓你通過哈斯作爲參數。

相關問題