【问题标题】:Iterate array of hashes and display in dropdown in ruby迭代哈希数组并在 ruby​​ 的下拉列表中显示
【发布时间】:2013-08-29 10:22:42
【问题描述】:

我的哈希数组是下面的。

[{"status"=>"Submitted", "reachable"=>false}, 
{"status"=>"Replied", "reachable"=>false}, 
{"status"=>"Answered", "reachable"=>false}, 
{"status"=>"Assigned", "reachable"=>false}, 
{"status"=>"Started", "reachable"=>true}, 
{"status"=>"Closed", "reachable"=>false}, 
{"status"=>"Canceled", "reachable"=>true}]

我需要“status”值并将它们显示在带有嵌入 ruby​​ 代码的 html 中的下拉列表中。你们中的任何人都可以让我知道示例代码吗? 我对 ruby​​ 非常陌生,并且在迭代和在下拉列表中显示值时感到很困惑。

【问题讨论】:

    标签: ruby arrays loops hashmap traversal


    【解决方案1】:

    是的,如下:

    array = [{"status"=>"Submitted", "reachable"=>false}, 
            {"status"=>"Replied", "reachable"=>false}, 
            {"status"=>"Answered", "reachable"=>false}, 
            {"status"=>"Assigned", "reachable"=>false}, 
            {"status"=>"Started", "reachable"=>true}, 
            {"status"=>"Closed", "reachable"=>false}, 
            {"status"=>"Canceled", "reachable"=>true}]
    
    p array.map{|h| h["status"] }
    # >> ["Submitted", "Replied", "Answered", "Assigned", "Started", "Closed", "Canceled"]
    

    【讨论】:

    • 八佰。谢谢。但再次需要一些帮助。 “<option value = '#{p (JSON.parse(disp)).map{|h| h['status_name'] }}'>#{p (JSON.parse(disp)).map{|h| h['status_name'] }}</option>”我需要在选项列表/下拉列表中使用上述值。上面的代码正确吗?
    • @user19098 根据你的问题,我给出了这个解决方案..但对 ROR 一无所知..所以无能为力。但是,如果您将其正确地放入代码库中,我的答案将 100% 有效..
    • 是的,正如您所提到的,它可以完美运行。我可以将它作为状态名称数组来获取。但是试图在下拉列表中获取这些名称!
    • @user19098 使用puts 而不是p.. :)
    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 2015-08-30
    • 2019-12-07
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    相关资源
    最近更新 更多