Rails集合选择类别和子类别

时间:2019-02-28 11:36:09

标签: ruby-on-rails

我在设法实现以下方法时遇到了麻烦:我想将循环放在select field的下面,并且只能选择子类别。

@categories = Category.where(ancestry: nil)
@subcategories = Category.where("ancestry is NOT NULL and name != ''")

<% @categories.each do |category| %>
    <%= category.name %>
      <% unless category.children.empty? %>
        <% category.children.each do |subcategory| %>
          <%= subcategory.name %>
        <% end %>
     <% end %>
<% end %>

我得到以下子类别:

<%= form.collection_select(:category_id, @ subcategories, :id, :name) %>

但是如何在选择字段中按顺序放置类别(不可选择)和子类别(可选择)?

1 个答案:

答案 0 :(得分:1)

<%= form.grouped_collection_select :category_id, Category.roots.order(:name), :children, :name, :id, :name, {:include_blank => true}, {class: "", :multiple => true } %>