Rails несколько радио кнопок - PullRequest
       0

Rails несколько радио кнопок

0 голосов
/ 05 октября 2018

У меня есть таблица с именем items и три логических столбца fixed_amount, no_price, per_hour.

Как добавить radio buttons из трех вышеупомянутых столбцов в форму, чтобы представить их как true, если выбран одини ложь для остальных столбцов, которые не выбраны?Я хочу, чтобы радио-кнопка могла переключаться с одного на другое, а не выбирать все три из них.

В настоящее время я пытаюсь что-то вроде следующего, но безуспешно:

<%= form.radio_button :no_price, '1', checked: true %>
<%= form.radio_button :fixed_amount, '1' %>
<%= form.radio_button :per_hour, '1' %>

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Я бы использовал enum вместо отдельных столбцов, это было намного проще и логически более правильно: например,

enum pricing_option: { no_price: 0, fixed_amount: 1, per_hour: 2 }

В представлениях:

<%= collection_radio_buttons(:foo, :pricing_option, Foo.pricing_options, :first, :first)%>

0 голосов
/ 05 октября 2018

Чтобы переключатели переключали друг друга, они должны иметь одинаковые имена.Что-то вроде

<%= radio_button_tag :price_option, 'no_price', checked: model.no_price? %>
<%= radio_button_tag :price_option, 'fixed_amount', checked: model.fixed_amount? %>
...

Тогда вы получите в params[:price_option] выбранную опцию и соответственно настроите свою модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...