【发布时间】:2018-10-05 09:28:00
【问题描述】:
我有一个名为items 的表和三个布尔列fixed_amount, no_price, per_hour。
如何将上述三列中的radio buttons 添加到表单中,以便在选择其中一列时提交为真,对其余未选择的列提交为假?我希望单选按钮能够从一个切换到另一个,而不是选择所有三个。
目前我正在尝试类似以下的方法,但没有任何运气:
<%= form.radio_button :no_price, '1', checked: true %>
<%= form.radio_button :fixed_amount, '1' %>
<%= form.radio_button :per_hour, '1' %>
【问题讨论】:
-
我会使用枚举而不是单独的列,这样更容易,逻辑上更正确:例如
enum pricing_option: { no_price: 0, fixed_amount: 1, per_hour: 2 }然后在视图中:<%= collection_radio_buttons(:foo, :pricing_option, Foo.pricing_options, :first, :first)%> -
谢谢@Said Kaldybaev。这很好用!
标签: ruby-on-rails