Пустое значение по умолчанию для выбранного года - PullRequest
0 голосов
/ 28 марта 2020

Я работаю над формой, используя ruby на рельсах, и у меня есть тег выбора для выбора учебного года

=select :student, :class_year, (Time.zone.now.year - 30)..(Time.zone.now.year + 10)

Это дает мне значение по умолчанию текущего года - 30. Я пытался добавить пустое значение по умолчанию, но я получаю ошибки, и я не могу понять, как заставить его работать. Я очень новичок в ruby.

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 28 марта 2020

Похоже, проблема в том, что вы используете Range в качестве третьего параметра для метода select. Как указано в документации по Rails API, этот параметр choices должен быть либо плоской коллекцией (см. options_for_select), либо вложенной коллекцией (см. grouped_options_for_select).

В вашем случае, а не (Time.zone.now.year - 30)..(Time.zone.now.year + 10), что приводит к Range, вы можете использовать следующее для создания массива строк:

((Time.zone.now.year - 30)..(Time.zone.now.year + 10)).to_a.map(&:to_s)

Я предлагаю вам взглянуть на https://guides.rubyonrails.org/form_helpers.html#making -select-boxes- with-easy за отличное руководство по использованию помощника по опциям формы select.

Надеюсь, это поможет!

...