是否有一种方法可以在视图中迭代选择下拉列表ruby的数组

时间:2013-07-12 01:14:07

标签: ruby-on-rails ruby views

高级概述:

我目前在视图中有一个下拉菜单,其中包含多个用户选项

<%= f.select :carrier, options_for_select([["Select One", ""], "T-mobile", "Sprint",       
"Virizon", "AT&T", "Tracphon", "U.S. Cellular", "Cricket"]), :class => 'genForm_dropBox' 
%>

我想通过创建一个运营商表来动态更新它,这样我就可以遍历所有运营商并将其添加到下拉列表中,而无需编辑代码来添加运营商。

我的控制器中有一个方法

def craft
        gateway_arry = Array.new
        @carriers = Carrier.all

        @carriers.each do |t|
            gateway_arry << t.gateway 
        end
    end

我想在视图中迭代此gateway_arry数组以选择下拉列表。在选择下拉列表ruby的视图中是否有一个方法?如果是这样的话是什么样的?

谢谢你们

2 个答案:

答案 0 :(得分:2)

还有collection_select

collection_select(:post, :id, Carrier.all, :id, :name)

答案 1 :(得分:1)

你的意思是?

f.select :carrier,
         options_for_select([["Select One", ""],
                             *Carrier.all.map(&:gateway)]),
         :class => 'genForm_dropBox'