使用f.select使用grouped_options_for_select设置默认值

时间:2018-06-22 06:48:16

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我有一个按以下内容呈现的分组下拉菜单,

= f.select :location_id, 
           grouped_options_for_select(grouped_location_options, 
                                      default_location_name), 
           { selected: default_location_name }, 
           class: 'form-control'

我想将默认值设置为未分配,但是上面的代码似乎并没有满足我的要求。

有人可以给我一些解决这个问题的线索吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

您可以采用以下任何一种格式给组选项:

    grouped_options = {
          'North America' => [['United States','US'], 'Canada'],
          'Europe' => ['Denmark','Germany','France']
        }

OR

 grouped_options = [
   ['North America', [['United States','US'],'Canada']],
   ['Europe',['Denmark','Germany','France']]
 ]

要选择我们和Denmak,请使用以下代码:

grouped_options_for_select(grouped_options, ['US', 'Denmark'])

更新

grouped_options = {
      'Unassigned' => [['Unassigned','1']],
      'Assigned' => [['Trainer 1 Location', 3], ['Trainer 5 Location', 4]] 
    }

选择未分配,请使用:grouped_options_for_select(grouped_options, ['1'])

选择默认分配的grouped_option_from_select中未分配的通行证ID