0
最近開始使用rails
以及ancestry
寶石第一次。使用if else語句在紅寶石中進行迭代...(沿着祖先的寶石)
我試圖通過其經由ancestry
寶石存儲在樹結構Category
對象的數組來迭代,以便顯示按鈕,有線到link_to
到其它類別對象,給定的類別相關。
數據庫中的前3個類別是根,所以我最終沒有足夠的空間來顯示所有後代的按鈕。所以,如果category.parent == 'nil'
,我想只顯示給定類別的孩子。
但是,對於所有其他類別對象,我想顯示給定類別的所有後代。
我在想沿着這些線路的東西,如通過
<%= current_user.folders.each do |folder| %>
<% if folder.is_root? %>
<% folder.children.each do |child| %>
<%= link_to child, folder_path(child), class: 'btn' %>
<% end %>
<% else %>
<% folder.descendants.each do |desc| %>
<%= link_to desc, folder_path(desc), class: 'btn' %>
<% end %>
<% end %>
會有人能夠指教迭代?
我試圖用祖先的寶石來建立樹結構... – jmcgillion
我基本上已經做了...但是,我很難弄清楚如何迭代通過基於給定的類別對象的ID ... tx爲您的響應迭戈,這是表示讚賞... – jmcgillion
'祖先'寶石完全按照我上面解釋。不確定你的意思是「通過基於給定類別的id進行迭代」。有了'id',你可以找到一個類別'category = Category.find id',然後祖先寶石給你'children'方法'category.children'。它有一堆用於導航對象樹的方法https://github.com/stefankroes/ancestry#navigating-your-tree – DiegoSalazar