2016-07-04 68 views
0

我有一个二维数组,它具有数据库中每个学校的名称和slu as。 我想将这个数组从空开始,然后逐一添加每个学校。(Ruby)如何将一对插入到一个数组中

这是我曾尝试:

<% schoolSelect = [] %> 
<% @schools.each { |x| schoolSelect += [x.name, x.slug] } %> 

然而,这增加了姓名和学校的蛞蝓到会话中的阵列,而不是二维的。

+0

什么是在@schools和你想要在输出PLZ告诉 –

+0

你仍然在使用代码片段,而不是普通的代码块。请停止使用它,除非你有一个可运行的例子显示。 –

+0

你为什么想这样做?我觉得你会在'select'中使用这个数组?如果是这种情况,可能会有更好的解决方案,因为有相当聪明的表单生成器方法。 – spickermann

回答

3

使用<<而不是+=

schoolSelect = [] 
@schools.each { |x| schoolSelect << [x.name, x.slug] } 

甚至更​​好使用Ruby的成语map

schoolSelect = @schools.map { |s| [s.name, s.slug] } 

这工作,因为map已经返回数组。

相关问题