0

我需要在活动管理员中实现两个命名空间,并为每个命名空间设计不同的菜单。我的命名空间运行良好,我使用 view_factory 重新定义导航栏,但是当我尝试为特定命名空间设置视图时,此视图是为每个命名空间设置的。

ActiveAdmin.setup do |config|
  config.namespace :dashboard do |dashboard|
   dashboard.view_factory.global_navigation = MyNavigation
  end
end

class MyNavigation < ActiveAdmin::Component
  def build menu, options = {}
    # my specific stuff
  end
end

我正在使用 Active Admin 0.5.1,它应该与多个命名空间一起使用http://reverbhq.com/blog/2012/08/activeadmin-0-5-0-is-released/

如果有人知道我错在哪里:)

4

1 回答 1

0

刚刚发现一个 hack,需要为每个工作区创建一个新的 ActiveAdmin::ViewFactory.new 并复制公共视图(您不能使用 config.view_factory 为所有工作区创建...)

ActiveAdmin.setup do |config|
  config.namespace :dashboard do |dashboard|
    dashboard.view_factory = ActiveAdmin::ViewFactory.new
    dashboard.view_factory.global_navigation = MyNavigation
    dashboard.view_factory.footer = CommonFooter
  end
  config.namespace :dashboard do |admin|
    admin.view_factory = ActiveAdmin::ViewFactory.new
    admin.view_factory.footer = CommonFooter
  end
end

它不是很合适和干燥,但效果很好

于 2013-01-21T14:21:36.187 回答