как разместить опцию выбора в качестве первой опции в выпадающем списке? - PullRequest
2 голосов
/ 08 ноября 2019

Я добавил «Выбрать газ» в качестве значения по умолчанию, но проблема в том, что когда я сортирую переменную @Gases, «Выбрать газ» переходит в середину раскрывающегося списка. Я бы хотел, чтобы 'Select Gas' был первым пунктом, даже если @Gases отсортированы. Как я могу это сделать? Спасибо

Газовая переменная

@Gases = ['Carbon Dioxide [CO2]','Ethanol [CH3CH2OH]','Hydrogen [H2]','Hydrogen Sulfide [H2S]', 'Nitrogen Dioxide [NO2]', 'Carbon Monoxide [CO]', 'Ethene [Ethylene C2H6]', 'Other']

Поиск

<%= f.select :gas_analyte, @Gases, {include_blank: 'Select Gas', size:15},{class: "gas_search"} %><br>

1 Ответ

1 голос
/ 08 ноября 2019

Хотя ваш код выглядит хорошо, если у вас есть массив и вы хотите, чтобы определенный элемент всегда был первым, вы можете использовать Array#prepend, чтобы выполнить работу:

list = [:a, :h, :w, :c, :d, :b, :e]

list.sort.prepend(:z)
=> [:z, :a, :b, :c, :d, :e, :h, :w]

Так что в вашем случае вы можете иметь:

@gases = ['Carbon Dioxide [CO2]','Ethanol [CH3CH2OH]','Hydrogen [H2]','Hydrogen Sulfide [H2S]', 'Nitrogen Dioxide [NO2]', 'Carbon Monoxide [CO]', 'Ethene [Ethylene C2H6]', 'Other']

@gases.sort.prepend('<Select Gas>')
=> ["<Select Gas>", "Carbon Dioxide [CO2]", "Carbon Monoxide [CO]", "Ethanol [CH3CH2OH]", "Ethene [Ethylene C2H6]", "Hydrogen Sulfide [H2S]", "Hydrogen [H2]", "Nitrogen Dioxide [NO2]", "Other"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...