0
我拉從我的Rails應用程序從外部API的參數平哈希。我需要在選擇字段中將這些參數呈現給用戶。如何從平面散列值創建分組選擇?
[["Name", "ID", "Category"]]
我想呈現這個作爲一個分組選擇:
散列格式如下。但我相信grouped_select標籤採用層次散列,而不是平面散列?
是否有一種簡單的方法將這個散列重構爲結構化散列?即,
['CategoryA', [['Name-A1','ID-A1'],['Name-A2', 'ID-A2']]
僅供參考,我目前正在處理哈希在我的控制器這樣
@hash = session["hash"].map { |h| [ h["name"], h["id"], h["category"] ] }
,並在視圖
<%= f.select :hash_id, @hash %>
這給我的選項的無序列表。我如何在h["category"]
上分組?
感謝您的指點。
編輯
順便說一句,我; VE已經嘗試過group_by
,因爲它似乎是顯而易見的路要走。但我得到can't convert String into Integer
。也許我沒有正確使用它?
hash.group_by {|h| h["category"] }.map { |h| [ h["name"], h["id"], h["category"] ] }
OK,這使得有很大的意義了。感謝您的幫助!您能否推薦任何有用的信息來幫助解決未來的類似問題。 –