我目前使用下面进入某一个领域的一个数组中的表:你如何使用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