Ruby on rails 如何按节对类别进行排序
如何按类别各自的部分对类别进行排序 像语言部分有英语,阿拉伯语,西班牙语等。我想显示标题部分名称,其类别作为复选框。这是我的密码 app/models/profile.rb app/models/category.rb app/models/section.rb app/views/profiles/_form.html.rbRuby on rails 如何按节对类别进行排序,ruby-on-rails,ruby,Ruby On Rails,Ruby,如何按类别各自的部分对类别进行排序 像语言部分有英语,阿拉伯语,西班牙语等。我想显示标题部分名称,其类别作为复选框。这是我的密码 app/models/profile.rb app/models/category.rb app/models/section.rb app/views/profiles/_form.html.rb 如果您希望按节对类别进行排序,则节应该是outter迭代的标准。 请尝试下面的代码片段 <% Section.all.each do |section| %>
如果您希望按节对类别进行排序,则节应该是outter迭代的标准。 请尝试下面的代码片段
<% 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 %>
谢谢James,我会按照你的更新风格发布问题。
class category < ActiveRecord::Base
belongs_to :section
has_many :categorizations
has_many :profiles, through: :categorizations
end
class Section < ActiveRecord::Base
has_many :categories
end
<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>
<% 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 %>