我有一个包含复选框和单选按钮的多个字段的表单。我希望添加一个"其他"每个选项。现在,如果用户单击其他选项,则应该允许他添加应保存在数据库中以供将来使用的新选项。
这是我目前的代码:
<label> Goals: </label><br>
<%= f.collection_check_boxes :goal_id, Admin::Goal.all, :id, :title, checked: @assessment.goal_id, :include_hidden => false do |b| %>
<%= b.label class:"label-checkbox" do %>
<%= b.check_box + b.text%>
<% end %>
<% end %>
答案 0 :(得分:2)
您需要像这样自定义collection_check_box
:
<% other_options = [{id: "other",title: "other"}] %>
<label> Goals: </label><br>
<%= f.collection_check_boxes :goal_id, Admin::Goal.all + other_options, lambda{|a|a["id"]}, lambda{|a|a["title"], checked: @assessment.goal_id, :include_hidden => false do |b| %>
<%= b.label class:"label-checkbox" do %>
<%= b.check_box + b.object[:title]%>
<% end %>
<% end %>
我在这做什么: