Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 轨道多个单选按钮_Ruby On Rails - Fatal编程技术网

Ruby on rails 轨道多个单选按钮

Ruby on rails 轨道多个单选按钮,ruby-on-rails,Ruby On Rails,我有一个名为items的表和三个布尔列fixed\u amount,no\u price,per\u hour 如何向表单中添加上述三列的单选按钮,以便在选中一列时作为true提交,在未选中的其余列中作为false提交?我希望单选按钮能够从一个切换到另一个,而不是选择所有三个 目前,我正在尝试以下方法,但没有任何运气: <%= form.radio_button :no_price, '1', checked: true %> <%= form.radio_button :fi

我有一个名为
items
的表和三个布尔列
fixed\u amount,no\u price,per\u hour

如何向表单中添加上述三列的
单选按钮
,以便在选中一列时作为true提交,在未选中的其余列中作为false提交?我希望单选按钮能够从一个切换到另一个,而不是选择所有三个

目前,我正在尝试以下方法,但没有任何运气:

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

要使单选按钮彼此保持不动,它们需要具有相同的名称。差不多

<%= 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]
中收到所选选项,并相应地设置您的模型。

我将使用enum而不是单独的列,这是一种更简单、逻辑上更正确的方法:例如

enum定价选项:{无价格:0,固定金额:1,每小时:2}

在以下观点中:


我选择enum而不是单独的列,这是一种更简单、逻辑上更正确的方式:例如
enum定价选项:{无价格:0,固定金额:1,每小时:2}
然后在视图中:
检查控制单选按钮列表谢谢@Said Kaldybaev。这很好!