如何在Rails中设置复选框的默认集合

时间:2016-10-16 20:33:53

标签: ruby-on-rails ruby

对于复选框的集合,如何为多个项目设置默认复选框?例如我正在思考的方式,当页面重新加载时,它应该检查三个项目,因为方法Country.select_countries返回三个国家。

<%= f.simple_fields_for :countries do |form| %>
  <%= form.input :country_ids, as: :check_boxes, collection: Country.all.order('name ASC'),  checked:  Country.select_countries || []%>
<%end%>

1 个答案:

答案 0 :(得分:0)

我认为您可以为对象设置country_ids的默认值:

<%= f.simple_fields_for :countries do |form| %>
  <% f.object.country_ids = Country.select_countries if f.object.country_ids.blank? %>
  <%= form.input :country_ids, as: :check_boxes, collection: Country.all.order(:name) %>
<% end %>

这也可以在控制器或模型中设置。