gpt4 book ai didi

ruby-on-rails - Rails.application.routes 列出所有路由并确定 Controller

转载 作者:太空宇宙 更新时间:2023-11-03 17:49:58 24 4
gpt4 key购买 nike

我正在尝试编写一个脚本,该脚本可以列出所有可用路由,并针对每条路由查询 Controller 和操作名称(有点像 rake 路由)。

如果我运行 Rails.application.routes.routes 我可以看到数据都在那里。我似乎无法访问它。

 @named_routes=
{"root"=>
#<ActionDispatch::Journey::Route:0x007fc2cb40a598
@app=
#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fc2cb40b448
@controller_class_names=#<ThreadSafe::Cache:0x007fc2cb40b420 @backend={}, @default_proc=nil>,
@defaults={:trailing_slash=>false, :controller=>"home", :action=>"show"},
@glob_param=nil>,
@constraints={:required_defaults=>[:trailing_slash, :controller, :action], :request_method=>/^GET$/},
@decorated_ast=nil,
@defaults={:trailing_slash=>false, :controller=>"home", :action=>"show"},

我如何访问隐藏在 Controller 名称中的散列。

顺便说一句,有没有办法从中确定一条路径?

最佳答案

如果我正确理解你的问题,这应该可以工作:

Rails.application.routes.routes.named_routes.values.map(&:defaults)

然后你可以这样做:

Rails.application.routes.routes.named_routes.values.map do |route|
"#{route.defaults[:controller]}#{route.defaults[:action]}"
end

关于ruby-on-rails - Rails.application.routes 列出所有路由并确定 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612830/

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