【发布时间】:2011-06-25 04:28:51
【问题描述】:
有没有办法在 Rails 中设置两组单选按钮?我可以想象您可以将它们放入单独的表单中,但是有没有办法在一个表单中创建两组单选按钮?
【问题讨论】:
标签: ruby-on-rails radio-button
有没有办法在 Rails 中设置两组单选按钮?我可以想象您可以将它们放入单独的表单中,但是有没有办法在一个表单中创建两组单选按钮?
【问题讨论】:
标签: ruby-on-rails radio-button
是的,您只需使用不同的单选按钮名称即可创建两个不同的集合:
radio_button_tag 'gender', 'male'
radio_button_tag 'gender', 'female'
radio_button_tag 'food', 'none'
radio_button_tag 'food', 'vegetarian'
radio_button_tag 'food', 'vegan'
这将导致 params[:gender] 为 'male' 或 'female' 而 params[:food] 为 'none'、'vegetarian' 或 'vegan'。你可以用 radio_button 函数做同样的事情。
【讨论】:
具有相同name 属性的单选按钮被分组。
因此,请确保您的 Rails 代码对组内的单选按钮使用相同的名称。
根据documentationradio_button方法的第一个参数是名称,所以保持这个参数不变。
【讨论】:
我的建议是使用带有简单循环的 radio_button_tag。 在这里你可以使用form_tag映射选择的值而不需要对应的模型。
<%= form_tag methods: :post do %>
<% (0..10).each do |value| %>
<%= radio_button_tag 'store', value, :required => true %>
<% end %>
<%= submit_tag 'submit' %>
<% end %>
【讨论】: