Вам необходимо передать набор опций (или опций ключ-значение). Третий параметр в select
фактически передается методу options_for_select
. Это лучше всего иллюстрируется на примере.
options_for_select(["a", "b"])
... становится
<option>a</option><option>b</option>
В большинстве случаев вас больше интересуют пары ключ-значение
options_for_select([["a", "1"], ["b", "2"]])
... становится
<option value="1">a</option><option value="2">b</option>
В качестве краткости обычно пропускают всю коллекцию объектов и отображают их в соответствии с тем, что ожидает options_for_select
.
options_for_select(Model.all.map { |m| [m.attr1, m.attr2] })
... и ответить на ваш вопрос, используя метод select
внутри представления
<%= f.select(:method, Model.all.map { |m| [m.attr1, m.attr2] }) %>