我已经通过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发布于 2020-02-29 00:41:53
我发现了一种解决方法,可以防止生成符合我的目的的路由。这并不理想,但如果你真的想让它们消失,这个方法适用于ActiveAdmin 2.6.1 (我发布时的最新版本)。我没有成功地想出一种从Rails中删除路由的方法,也不想手动跳过ActiveAdmin.routes(self)/write。
# 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在使用之前要考虑一下,因为这是一个有点冒险的选择:
https://stackoverflow.com/questions/32507768
复制相似问题