Подтвердить что ты не робот

Удалить пустую опцию поля select, которое было создано SimpleForm

У меня есть эта часть кода:

= f.input :category, :as => :select, :label => false, :collection => Choices["Categories"]

Выбор [ "Категории" ] - это просто хэш пар ключей = > значение.

SimpleForm генерирует поле выбора со всеми необходимыми параметрами, но также делает первый вариант пустым.
Этот пустой параметр присутствует во всех выбранных полях, которые были созданы SimpleForm.

Но я не хочу иметь пустой параметр. Есть ли способ избавиться от него?

Что-то вроде :allow_blank_option => false?

Я попытался сделать проверку достоверности этого атрибута в надежде, что SimpleForm обнаружит его, но это не помогло.

4b9b3361

Ответ 1

Вы можете передать опцию include_blank: false, include_hidden: false:

= f.input :category, :as => :select, :label => false, :collection => Choices["Categories"], include_blank: false, include_hidden: false

Ответ 2

или вы можете настроить действие обратного вызова в своей модели, чтобы удалить пустую строку в параметре массива, предполагая параметр с именем "types":

before_validation :remove_empty_string

def remove_empty_string
  types.reject! { |l| l.empty? }
end