基本
| 指令名 | 描述 | 语法 | 作用 |
|---|---|---|---|
| get … to | 指定 URL路径 及 所对应的控制器与方法。 | get "AAA" => "BBB#CCC"或 get "AAA" to "BBB#CCC" | 访问路径/AAA时,则使用控制器BBB内的方法CCC |
| get … | 按Rails默认规约设置 URL路径 及 控制器与方法,省略 to。 | get “AAA/BBB” | 访问路径/AAA/BBB时,则使用控制器AAA内的方法BBB |
| get …(参数) to | URL路径参数 | get "AAA/:year/:month" to "BBB#CCC" | 访问 /AAA/2020/05 时,将参数params[:year]的值设为”2020″、将参数params[:month]的值设为”05″ |
| resources | 自动生成RESTful路由 | resources :AAA | 生成以下7个符合RESTful规范的路由 |
| resources的选项 only: except: controller: path: | 自定义生成的路由 |
进阶:命名空间
| 指令名 | 描述 | 语法 | 对URL路径的影响 | 对Controller文件路径的影响 | 对Routing路径的影响 |
|---|---|---|---|---|---|
| namespace | 按Rails默认规约设置将URL对应到相应的Controller与方法 | namespace :XXX do | 在后增加/XXX | 在后增加 /XXX | 前缀增加 XXX_ |
| scope | 在维持Controller文件位置的条件下调整URL路径 | scope :XXX do | 在后增加/XXX | 无 | |
| module | 在保留原来URL路径的条件下,选定Controller的路径 | scope :XXX module :AAA do | 无 | 在后增加 /AAA | |
高级选项
| 指令名 | 描述 | 语法 | 对URL路径的影响 | 对Controller文件路径的影响 | 对Routing路径的影响 |
|---|---|---|---|---|---|
| namespace path: module: | 将namespace仅仅作为管理用的名称,自定义URL、Controller文件路径、Routing名路径。 | namespace :XXX ,path: AAA,module: BBB,as: CCC | 在后增加/AAA | 在后增加 /BBB | 前缀增加 CCC_ |