Варианты могут быть плоской коллекцией или вложенной коллекцией (это будет генерировать теги optgroup).Пример из документации:
select("post", "person_id", Person.all.pluck(:name, :id), {include_blank: 'None'})
Вам всегда нужно будет указывать аргументы в правильном порядке, если вы не хотите их предоставлять, вы можете просто передать значение по умолчанию
select("post", "person_id", Person.all.pluck(:name, :id), {}, {required: true})
Все, что вы передадите в html_options, будет помещено в тег HTML, возможные вещи, которые вы можете передать:
- name: определяется по рельсам, если пусто
- id: определяется порельсы, если пусто
- несколько: указывает, можно ли выбрать несколько значений
- обязательно: указать, что поле является обязательным
- отключено: если поле отключено
- size: Сколько элементов для отображения в избранном (по умолчанию 1)
Официальная документация, которую вы ищете, находится здесь: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html