Rails — радиокнопка, выбранная по умолчанию в SimpleForm: collection

У меня небольшая проблема с радиокнопками в SimpleForm.

когда я использую

= f.association :manufactureType, :collection => ManufactureType.all, :as => :radio

Rails просто генерирует несколько радиокнопок, но ни одна из них не выбрана. Я хочу, чтобы первая радиокнопка была выбрана по умолчанию. Как я могу это сделать?

Спасибо


person mswiszcz    schedule 25.06.2011    source источник
comment
В порядке. Я нашел ответ на этот вопрос. Просто добавьте :checked =› 1 (значение) в конце строки, и все заработает :)   -  person mswiszcz    schedule 25.06.2011


Ответы (4)


Если вы передаете типы производства в представление, вы можете сделать следующее:

:checked => @manufacture_types[0]

Or

:checked => ManufactureType.first
person Domness    schedule 11.07.2012
comment
Это сбрасывает выбор кнопки, если какое-либо из полей формы недействительно и оно повторно отображается. Я не знаю, лучший ли это способ, но я решил эту проблему, просто установив атрибут в моем действии new, чтобы @manufacturer = Manufacturer.new (manufacturer_type_id: 0) - person ohhh; 18.09.2015

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

= f.input :attending, as: :radio_buttons, :collection => [ ['Yes', true], ['No', false] ], :checked => ['Yes', true]
person penner    schedule 26.03.2014

из комментария оператора добавление этого параметра сработало для меня:

:checked => 1
person schpet    schedule 12.03.2013
comment
Это сработало для меня, где проверенный ответ не сработал. - person Kyle Shevlin; 23.09.2014

Вот выдержка из моего кода, который работает:

= f.input :body_format,
  collection: [['markdown', 'Markdown']],
  label_method: :last,
  value_method: :first,
  as: :radio_buttons,
  checked: 'markdown', # THIS
  required: true
person The Whiz of Oz    schedule 26.01.2016