2013-07-18 42 views
2

我正在跟蹤鑄造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這樣做所謂的失敗(因爲沒有錯誤,只是沒有按't order)

@page_for_nav = Admin::Page.order("name asc").find_by_permalink!(params[:id]) 

,並在每一個也沒有(沒有錯誤給出,它只是不排序)

<% pages.each.order("name asc") do |page, children| %> 

回答

1

你應該通過:order => :name選項arrange方法

<%= render 'layouts/sub_navigation', pages: @page_for_nav.root.descendants.arrange(:order => :name) %> 

閱讀這樣做doc:https://github.com/stefankroes/ancestry#arrangement

+0

可愛!我必須像蝙蝠一樣失明! –