我正在关注导演Tree Based Navigation。
我想按字母顺序排序子树。
在我的PagesController中,我有
@page_for_nav = Admin::Page.find_by_permalink!(params[:id])
由
调用<%= render 'layouts/sub_navigation', pages: @page_for_nav.root.descendants.arrange %>
呈现
<ul>
<% pages.each do |page, children| %>
<% if page.page_status == 'Public' %>
<li>
<%= link_to_unless_current page.name, "../#{page.permalink}" %>
<%= render 'layouts/sub_navigation', pages: children if children.present? %>
</li>
<% end %>
<% end %>
</ul>
在我的PagesController中执行此操作失败(未给出错误,它只是没有订购)
@page_for_nav = Admin::Page.order("name asc").find_by_permalink!(params[:id])
并且在每个也失败的情况下执行此操作(没有给出错误,它只是没有命令)
<% pages.each.order("name asc") do |page, children| %>
答案 0 :(得分:1)
您应该将:order => :name
选项传递给arrange
方法
<%= render 'layouts/sub_navigation', pages: @page_for_nav.root.descendants.arrange(:order => :name) %>