2012-07-12 71 views
0

阵下来,我有一个这样的数组:Ruby on Rails的下降与f.select

@array = [[1, a], [2, b], [3, c] ............] 

我想在我看来下创建的下降与

f.select 

下拉应该只有数字,即[1, 2, 3, ....]

我怎么能创建一个下拉只有数字和f.select在我看来?

+0

@Sergio Tulentsev我试图访问号码和我只能通过写入@array访问它们中的每[0] [0] 1,阵列[1] [0] 2先前我曾经有我的形式等此<%= f.select(:CONNECTION_NAME,options_for_select(@array))%>但那个时候我的阵列只有数字,所以它能够在下拉以显示所有的数字 - – user1455116 2012-07-12 22:02:53

回答

1

像这样的工作:

@array.collect{|x| x[0]} 
0

只需使用。这很容易实现。

选择(:人,:city_id,[[ '里斯本',1],[ '马德里',2],...])

f.select(:city_id, [['Lisbon',1],['Madrid',2],...])

请注意,第三个参数options数组与您传递给options_for_select的参数是同一种类型。这里的一个好处是,你不必担心预选正确的城市,如果用户已经有一个 - Rails会从@ person.city_id属性阅读为你做这个。

+1

阵列已经存在,这样的想法是不写出来用手所有选项。 – kapad 2014-12-01 15:12:11