Ruby on rails 查看活动管理员上特定于命名空间的工厂

Ruby on rails 查看活动管理员上特定于命名空间的工厂,ruby-on-rails,namespaces,activeadmin,factory,Ruby On Rails,Namespaces,Activeadmin,Factory,我需要在active admin中实现两个名称空间,每个名称空间都有不同的菜单设计。 我的名称空间工作得很好,我使用view_factory重新定义导航栏,但当我尝试为特定名称空间设置视图时,会为每个名称空间设置此视图 ActiveAdmin.setup do |config| config.namespace :dashboard do |dashboard| dashboard.view_factory.global_navigation = MyNavigation end

我需要在active admin中实现两个名称空间,每个名称空间都有不同的菜单设计。 我的名称空间工作得很好,我使用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
ActiveAdmin.setup do | config|
config.namespace:dashboard do | dashboard|
dashboard.view\u factory.global\u navigation=MyNavigation
结束
结束
类MyNavigation
我使用的是Active Admin 0.5.1,它应该可以处理多个名称空间


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

刚刚发现一个漏洞,需要为每个工作区创建一个新的ActiveAdmin::ViewFactory.new,并复制公共视图(不能使用config.view\u 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