【问题标题】:Rails 4: CSV to hash passed as hidden fieldRails 4:CSV到哈希作为隐藏字段传递
【发布时间】:2017-07-07 02:35:23
【问题描述】:

我有一个 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 以保持其哈希格式?

【问题讨论】:

  • “以便保持其哈希格式”是什么意思?请编辑您的问题以包含您希望呈现的 HTML 外观的示例。

标签: ruby csv ruby-on-rails-4 hash


【解决方案1】:

我在另一个问题中发现了这个有用的助手:

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 作为参数传递。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-28
    • 2014-07-28
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多