我有以下的JSON我轉換成散列:在Ruby中
<%
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 }
但它返回相同的...
如何我可以去j如果他們的關鍵匹配,ust以我想要的格式返回字符串?
你不需要爲that..they工作作爲哈希方法[:鍵] –