如何按部分排序类别

时间:2013-10-04 22:09:58

标签: ruby-on-rails ruby

如何按各自的章节对类别进行排序?

就像“语言”部分有英语,阿拉伯语,西班牙语等。我想将部分名称显示为标题,将其类别显示为复选框。这是我的代码。

应用/模型/ profile.rb

class Profile < ActiveRecord::Base
  has_many :categorizations
  has_many :categories, through: :categorizations
end

应用/模型/ category.rb

class category < ActiveRecord::Base
  belongs_to :section
  has_many :categorizations
  has_many :profiles, through: :categorizations
end

应用/模型/ section.rb

class Section < ActiveRecord::Base
  has_many :categories
end

应用/视图/简档/ _form.html.rb

<div class="field">
  <%= hidden_field_tag "profile[category_ids][]", nil %>
  <% Category.all.each do |category| %>
    <%= check_box_tag "profile[category_ids][]", category.id, @profile.category_ids.include?(category.id), id: dom_id(category) %>
    <%= label_tag dom_id(category), category.name %><br>
  <% end %>
</div>

1 个答案:

答案 0 :(得分:0)

如果您希望按部分排序,则部分应该是外部迭代的标准。 请尝试以下代码段。

<% Section.all.each do |section| %>
    <% section.categories.each do |category| %>
      <%= check_box_tag "profile[category_ids][]", category.id, @profile.category_ids.include?(category.id), id: dom_id(category) %>
      <%= label_tag dom_id(category), category.name %><br>
    <% end %>
<% end %>