我有以下表格:
<%= form_for @user do |f| %>
<div class="form-group">
<%= f.label :extra_act %>
<%= f.select(:extra_act, [['Act 1', 1],['Act 2', 2], ['Act 3', 3]], class: 'form-control', required: true) %></br>
</div>
<%= f.submit 'Submit', class: 'btn btn-primary' %>
<% end %>
有没有办法提供复选框而不是下拉选择菜单?我在ruby网站上找到了复选框,但我只希望用户可以选择一个复选框。
答案 0 :(得分:0)
您可以使用单个选择列表(意味着多选属性应该关闭)或无线电组。
无论哪种方式满足您的需求。
答案 1 :(得分:0)
这适用于rails 4+
您希望用户只选择一个值,而不是check_box
,而您需要radio button
。以下是如何做到这一点(语法):
collection_radio_buttons(method, collection, value_method, text_method, options = {}, html_options = {}, &block)
使用您的代码:
f.collection_radio_buttons(:extra_activity_id, ExtraActivity.all, :id, :title, html_options: { class: 'form-control' }
对于rails 3
,您需要循环执行额外的活动:
<% ExtraActivity.all.each do |ea| %>
<%= f.radio_button :extra_activity_id, ea.id %>
<% end %>
由于你没有这个是数据库而你正在使用数组然后这样做,它可能会工作:
f.collection_radio_buttons(:extra_activity_id, [['Act 1', 1],['Act 2', 2], ['Act 3', 3]], :last, :first, html_options: { class: 'form-control' }