在activeadmin中对父菜单项进行排序 [英] Sorting parent menu items in activeadmin
本文介绍了在activeadmin中对父菜单项进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个菜单,其中包含多个:parent项目。
使用:priority可以对下拉菜单中的项目进行排序。
I have a menu, with multiple :parent items. With :priority I can sort the items within a drop down menu.
如何对主菜单的父项进行排序?
我使用的是最新版本的activeadmin
How can I sort my main menu parent items? I'm using the latest version of activeadmin
推荐答案
我帮助自己进行了黑客入侵,发现:
I helped myself with a hack, I found:
如果将以下内容放入config / initializers / active_admin.rb的设置块中。
If you drop the following into the setup block of config/initializers/active_admin.rb.
它使用优先级可显示的第一个子菜单项,以指示父项的排序优先级。
It uses the priority of the first displayable child menu item to indicate the sort priority for the parent item.
class ::ActiveAdmin::Views::TabbedNavigation
def priority_for(item)
child_item = item.children.detect { |child| display_item?(child) }
child_item ? child_item.priority : item.priority
end
private :priority_for
# Returns an Array of items to display
def displayable_items(items)
items.select do |item|
display_item? item
end.sort { |i1, i2| priority_for(i1) <=> priority_for(i2) }
end
end
对我来说这很好。
这篇关于在activeadmin中对父菜单项进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文