Woops! Извините все. Я нашел ошибку немного неискренним образом.
Я написал код этого поста от руки ... без копирования-вставки. Для ясности я переименовал некоторые значения, которые я использовал, потому что код, который я выполнял, был немного грязным (и, по-видимому, некорректным).
Итак, когда Габи попросила меня получить какой-то вывод для этих кусков кода, я вставил их в свой обзор и вуаля! Ярлыки, которые выбирают соответствующие радио-кнопки! Но почему?!
Ну, вот в чем дело. Глядя на результат, я понял, что мой исходный код не генерировал согласованные значения input.id и label.for в html. Выглядело это примерно так:
<%= f.radio_button :bet_type, "moneyline" %>
<%= f.label :moneyline, "Moneyline" %>
Это сгенерировано:
<input id="bet_type_moneyline" name="bet_type type="radio" value="moneyline" />
<label for="moneyline">Moneyline</label>
Посмотрите, чем отличаются input.id и label.for?
И только когда я запустил код в своем вопросе , я понял это правильно.
Кажется, что работает так: метод тега переключателя делает input.id из его (имя_объекта + "_" + значение), а метод тега label делает label.for из его имя_объекта
И когда эти два равны, вы получаете метку выбора.
Надеюсь, это открытие может помочь кому-то еще по пути.
Извините, что ваши шестерни тоже шлифуют!