gpt4 book ai didi

ruby-on-rails - 删除 ActiveAdmin 生成的注释路由

转载 作者:行者123 更新时间:2023-12-04 06:34:59 25 4
gpt4 key购买 nike

我已经通过 ActiveAdmin 的配置机制禁用了评论,因此它们不再显示为菜单项,但路由仍然存在,因此,我们在安全扫描期间遇到了一个小故障。

我已经尝试在 routes.rb 中用我自己的定义“覆盖”路由,但新定义的路由只出现在原始 ActiveAdmin 路由旁边,而前者似乎优先。

如何删除或覆盖这些路由?

                  admin_comments GET      /admin/comments(.:format)                                                       admin/comments#index
POST /admin/comments(.:format) admin/comments#create
admin_comment GET /admin/comments/:id(.:format) admin/comments#show

最佳答案

找到了一种解决方法,可以防止生成适合我的目的的路由。这并不理想,但如果您真的希望它们消失,这适用于 ActiveAdmin 2.6.1(我发布时的最新版本)。我没有成功找到从 Rails 中删除路由的方法,也不想跳过 ActiveAdmin.routes(self)/手动将它们全部写出来。

# in config/intializers/active_admin.rb
# or anywhere else after ActiveAdmin is loaded but before ActiveAdmin.routes gets called

module NamespaceWithoutComments
def register(resource_class, options = {}, &block)
super unless resource_class == ActiveAdmin::Comment
end
end

module ActiveAdmin
class Namespace
prepend NamespaceWithoutComments
end
end

使用前请考虑,因为这是一个有点冒险的选择:

  • future 的兼容性问题 - 如果此引用的任何事件管理代码发生更改并且您更新,此代码段可能会导致您的应用出现问题
  • 这与维护者声明的允许为单个资源打开评论的意图不一致
  • 它使 config.comments 设置无效 - 如果您以后想要评论,则需要这样做

关于ruby-on-rails - 删除 ActiveAdmin 生成的注释路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32507768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com