複数の :parent アイテムを含むメニューがあります。:priority を使用すると、ドロップダウン メニュー内の項目を並べ替えることができます。
メイン メニューの親アイテムを並べ替えるにはどうすればよいですか? 最新バージョンのactiveadminを使用しています
複数の :parent アイテムを含むメニューがあります。:priority を使用すると、ドロップダウン メニュー内の項目を並べ替えることができます。
メイン メニューの親アイテムを並べ替えるにはどうすればよいですか? 最新バージョンのactiveadminを使用しています
私はハックで自分自身を助けました、私は見つけました:
config/initializers/active_admin.rb の setup ブロックに以下をドロップすると。
最初に表示可能な子メニュー項目の優先順位を使用して、親項目の並べ替えの優先順位を示します。
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 v=0.4.4 では、この少し変更されたバージョンが初期化子として機能しました。
class ::ActiveAdmin::Views::TabbedNavigation
def priority_for(item)
item.children.map(&:priority).min || item.priority
end
private :priority_for
def menu_items
menu.items.sort { |i1, i2| priority_for(i1) <=> priority_for(i2) }
end
end