【发布时间】:2017-05-12 11:09:18
【问题描述】:
我将以下 JSON 转换为哈希:
<%
json = '{
"speed": 50,
"braking": 50,
"time_on_task": 50
}'
json = JSON.parse(json)
%>
目前我只是遍历它们并显示它们:
<ul>
<% json.each do |t| %>
<li><%= "<b>#{t.first.humanize}</b>: #{t.last}".html_safe %></li>
<% end %>
</ul>
但是,我想构建一个可以通过键名选择特定项目的方法。例如show_score(json, 'speed')
我试过了:
def show_score(hash, key)
hash.select { |k| k == key }
end
刚刚返回:{"speed"=>50}
所以我尝试了:
hash.select { |k, h| "<b>#{k.humanize}</b>: #{h}".html_safe if k == key }
但它返回相同的......
如果键匹配,我如何才能以我想要的格式返回字符串?
【问题讨论】:
-
你不需要一个方法来实现它..它们就像 hash[:key]