Ruby on rails 在rails中,如何动态地将domain.com/12345路由到/fetch/12345?

Ruby on rails 在rails中,如何动态地将domain.com/12345路由到/fetch/12345?,ruby-on-rails,routes,Ruby On Rails,Routes,我在理解RubyonRails中路由是如何工作的方面有点困难 我想实现的是在域名之后直接访问所有ID, 比如说 domain.com/<- ID goes here-> domain.com/ 通往 domain.com/fetch/<- entered ID -> domain.com/fetch/ 任何朝着正确方向的努力都将不胜感激 非常感谢这可能是个坏主意;一旦您放入这个常规路由,那么任何带有单个路径组件的无法识别的url最终都将由您的fetch方法处理。

我在理解RubyonRails中路由是如何工作的方面有点困难

我想实现的是在域名之后直接访问所有ID, 比如说

domain.com/<- ID goes here-> 
domain.com/
通往

domain.com/fetch/<- entered ID ->
domain.com/fetch/
任何朝着正确方向的努力都将不胜感激


非常感谢

这可能是个坏主意;一旦您放入这个常规路由,那么任何带有单个路径组件的无法识别的url最终都将由您的fetch方法处理。假设您理解并同意有几种方法可以做到这一点,最简单的方法是:

我假设您的路由中已经有/fetch/:id,类似这样的东西可以在ApplicationController#fetch中处理/fetch请求:

然后,您可以在路线底部添加如下规则:

get '/:id' => 'application#fetch'

这应该放在最底层,因为您不希望它覆盖任何更具体的单路径组件路由。

Rails中的路由负责将传入请求分派给控制器操作。您不会将一个URL路由到另一个URL。我甚至不明白你在问什么。URL重写?重新使用很抱歉
get '/:id' => 'application#fetch'