Ruby on rails 如何从Rails中控制器外部的给定url获取url段参数?

Ruby on rails 如何从Rails中控制器外部的给定url获取url段参数?,ruby-on-rails,ruby-on-rails-6,Ruby On Rails,Ruby On Rails 6,给定一条路径,如 /foos/123 还有一条路线 get '/foos/:id', as: 'foos' 如何使用Rails路由(反向)查找来获取ID 在本例中,path.split('/')。last可以工作,正则表达式更好。但是如何使用铁路线路来实现这一点呢 此功能由Rails.application.routes.recognize\u path提供,但已被弃用 注意:这不是控制器的一部分。请不要回答如何在控制器内使用路由 Rails 6.您不能。路由实际上要复杂得多 路由不仅仅是一

给定一条路径,如

/foos/123
还有一条路线

get '/foos/:id', as: 'foos'
如何使用Rails路由(反向)查找来获取ID

在本例中,
path.split('/')。last
可以工作,正则表达式更好。但是如何使用铁路线路来实现这一点呢

此功能由
Rails.application.routes.recognize\u path提供,但已被弃用

注意:这不是控制器的一部分。请不要回答如何在控制器内使用路由


Rails 6.

您不能。路由实际上要复杂得多

路由不仅仅是一组简单的静态正则表达式,它们将字符串与控制器和操作相匹配。您需要一个完整的请求对象。您必须记住,约束会将诸如头、cookie甚至Warden之类的中间件放在图片中


Rails.application.routes.recognize\u path
由于在处理这种复杂性时完全失败而被贬低。它只是给人一种错误的简单感,这可能是软件能做的最糟糕的事情。

你不能。路由实际上要复杂得多

路由不仅仅是一组简单的静态正则表达式,它们将字符串与控制器和操作相匹配。您需要一个完整的请求对象。您必须记住,约束会将诸如头、cookie甚至Warden之类的中间件放在图片中


Rails.application.routes.recognize\u path
由于在处理这种复杂性时完全失败而被贬低。它只是给人一种错误的简单感,这可能是软件能做的最糟糕的事情。

我认为
recognize\u path
从来都不是公共API的一部分,也不是用来使用的。也许我错了,但由于这是不推荐的,我认为除了您刚才描述的解析原始URL/pah之外,没有其他方法。好问题,上。你告诉我们上下文不是控制器,那么它是什么?@max-它是一个模型。我不认为
recognize\u path
曾经是公共API的一部分,应该被使用。也许我错了,但由于这是不推荐的,我认为除了您刚才描述的解析原始URL/pah之外,没有其他方法。好问题,上。你告诉我们上下文不是控制器,那么它是什么?@max-它是一个模型。