Action Dispatch Routing 路由顶层(表现形式)

提供接口,让我们定义应用相关路由。

先说说 Rack endpoint

Rack endpoint 是什么? 需要明确 Rack 是一个协议,符合这个协议的程序统称为 Rack application. Rack application 根据表现形式、调用方式、作用等又引申出几个概念,其中就包括 Rack endpoint. 在这里不作讨论和区分,统一对待。也就是说:

Rack ~= Rack middleware ~= Rack endpoint ~= Rack application

再说 Routing

一切路由规则都可归结为: 映射路径到 Rack endpoint.

这里的 Rack endpoint 指的不仅仅是 Controller#action,其它形式的入口也可以,例如:Engine、Sinatra 应用。

Routing 主要包含两部分:

Mapper 这部分,也就是路由机制这部分,这是我们接触得最多的,它包括:Base、Concerns、HttpHelpers、Resources、Scoping.

除了 Mapper 外,用到的还有:Redirection、Polymorphic Routes、Url For.

Routing 所在文件、目录:除 RouteSet、Routes Proxy 和 Journey 外,routing 目录里的其它模块。

最后更新于