0
我構建了一個CMS作爲寶石的子集,它們都是從Base Gem繼承而來的。每個寶石都提供不同的功能,例如博客,頁面,事件等。我想設置我的基礎寶石,以便它可以根據安裝的寶石動態構建導航。我不想被找到的所有控制器/路由自動做到這一點,我寧願每個寶石識別導航項目哈希數組,即:Rails:從繼承的控制器方法動態構建數組
# In my Admin controller (from which all other gem controllers inherit)
@admin_navigation = [{controller: "users", label: "Users", sort_order: 10}, {controller: "settings", label: "Settings", sort_order: 11}]
# In my Pages gem
@admin_navigation += [{controller: "pages", label: "Pages", sort_order: 3}, {controller: "page_templates", label: "Pagetemplates", sort_order: 8}]
# In my blog gem
@admin_navigation += [{controller: "posts", label: "Blog", sort_order: 4}, {controller: "tags", label: "Tags", sort_order: 5}]
基本上我想要我的@admin_navigation變量包括每個繼承的控制器的所有導航項目。有沒有辦法讓控制器從每個繼承的控制器調用一個方法?
有沒有更好的方法來實現這個目標?最後,我只需要一組這些導航項哈希來構建我的菜單。提前致謝!