我目前使用下面進入某一個領域的一個數組中的表:你如何使用map來獲得散列而不是數組?
Classrooms.all.map(&:teacher_name)
這將返回以下:
["James", "Josh", "Peter"]
我要的是一個哈希這樣反而有點像下面,我可以包括teacher_id:
{"James" => "1", "Josh" => "2", "Peter" => "3"}
我使用Classrooms.all.map(&:teacher_name, &:teacher_id)
嘗試,但它給了我一個語法錯誤。
謝謝!
我可以在一行中完成所有這一切嗎?謝謝! – Goalie 2012-07-12 04:45:17
是的,你可以。只要將賦值給'pairs'並將其放在使用'pairs'的地方(不先指定它)即可。例如:'hash = Hash [Classrooms.all.map {| t | [t.teacher_name,t.teacher_id]}]'現在,你將來能夠理解/維護這個嗎?這是真正的目標:) – 2012-07-12 05:19:40