如何在ActiveAdmin中隐藏自定义资源的菜单按钮?——解决User模型「Suspicious Users」资源菜单隐藏无效问题
解决ActiveAdmin别名资源菜单隐藏无效的问题
我之前也碰到过一模一样的问题!当你用as:给ActiveAdmin资源设置别名(比如这里的"Suspicious Users")时,直接在资源块里写menu false有时候确实不会生效,这是因为AA对别名资源的菜单注册逻辑有特殊优先级。
给你两个靠谱的解决方案:
方案一:将menu配置作为register参数传入
把menu: false直接放在ActiveAdmin.register的参数里,这样能确保配置优先级更高,不会被默认逻辑覆盖:
ActiveAdmin.register User, as: 'Suspicious Users', menu: false do # 你的其他资源配置代码 end
方案二:使用menu的hidden属性
如果方案一还是不行,试试用hidden: true明确标记菜单隐藏,或者用永远为false的条件判断:
ActiveAdmin.register User, as: 'Suspicious Users' do # 方式1:直接隐藏 menu hidden: true # 方式2:用条件判断强制不显示 # menu if: -> { false } # 其他配置 end
这样设置后,"Suspicious Users"的菜单按钮就会从ActiveAdmin的侧边栏消失了,你如果需要访问这个资源,直接手动访问路径/admin/suspicious_users即可。
内容的提问来源于stack exchange,提问作者SsPay
相关产品推荐
相关产品推荐

