【发布时间】:2015-09-10 17:44:18
【问题描述】:
我已经在我的主应用程序中安装了我的 Active Admin gem,并在我刚刚创建的“引擎”目录中设置了一个可挂载引擎。
我想在我的引擎中调整我的主应用的 ActiveAdmin 视图,以便能够添加特定的链接和内容。
我的引擎有自己的命名空间(为简单起见,我们称之为 MyOwnEngine)。
我在引擎的“lib/admin”目录中创建了一个“activeadmin_components.rb”文件,并添加了这个:
module MyOwnEngine
module ActiveAdmin
module Views
class Header < ::ActiveAdmin::Component
def build(namespace, menu)
super(:id => "header")
# stuff is done here...nothing that matters, really...
build_site_title
end
def build_site_title
render "admin/parts/myenginespecificpart"
end
end
end
end
这存在于 MyOwnEngine 命名空间中,但从不显示,这些自定义不会覆盖主应用中编写的自定义
如果我删除命名空间(模块 MyOwnEngine 部分),那么在我的引擎中编写的自定义项会覆盖我的主应用程序中的自定义项。
如果我点击 http://whatever/app,我希望显示我的应用程序的 Active Admin 视图,如果我点击 http://whatever/engine,我希望我的应用程序的 Active Admin 视图+我在其中完成的自定义我的引擎,但我做不到。
我知道这一定是与命名空间相关的问题,而且肯定是微不足道的,但我现在不知道是什么。
感谢任何帮助。谢谢。
【问题讨论】:
-
我真的很想获得类似的行为