gpt4 book ai didi

ruby-on-rails - 删除 Gem 中指定的路由?

转载 作者:行者123 更新时间:2023-12-04 10:57:09 25 4
gpt4 key购买 nike

有没有办法删除 Rails 3 中 gem 中指定的路由?异常记录器 gem 指定了我不想要的路由。我需要像这样指定路由的约束:

scope :constraints => {:subdomain => 'secure',  :protocol => 'https'} do 
collection do
post :query
post :destroy_all
get :feed
end
end

基于 Rails Engine docs ,我以为我可以创建一个猴子补丁并添加一个路由文件,该文件没有为路径指定路由["config/routes"].paths 数组,但该文件没有被添加到 ExceptionLogger::Engine.paths["config/路线"].paths
File: config/initializers/exception_logger_hacks.rb

ExceptionLogger::Engine.paths["config/routes"].paths.unshift(File.expand_path(File.join(File.dirname(__FILE__), "exception_logger_routes.rb")))

我在这里离基地很远吗?也许有更好的方法来做到这一点?

最佳答案

可以阻止 Rails 加载特定 gem 的路由,这样就不会添加任何 gem 路由,因此您必须手动添加所需的路由:

在 application.rb 中添加一个初始化程序,如下所示:

class Application < Rails::Application
...
initializer "myinitializer", :after => "add_routing_paths" do |app|
app.routes_reloader.paths.delete_if{ |path| path.include?("NAME_OF_GEM_GOES_HERE") }
end

关于ruby-on-rails - 删除 Gem 中指定的路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5891937/

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