Rails 路由指南
Rails 路由参考:resources、嵌套路由、member/collection 动作、concerns、约束、命名空间和路由辅助方法。
1. Resources 与 REST 路由
Rails.application.routes.draw do
resources :articles
resources :articles do
member do
post :publish
get :preview
end
collection do
get :featured
get :search
end
end
end
2. 嵌套路由
resources :articles do
resources :comments, only: [:index, :create, :destroy]
end
# 生成: /articles/:article_id/comments
# 浅层嵌套 — 避免过深的 URL
resources :articles do
resources :comments, shallow: true
end
3. 命名空间
namespace :admin do
resources :users
resources :articles
end
# → /admin/users, Admin::UsersController
scope '/api/v1' do
resources :articles
end
# → /api/v1/articles, ArticlesController
4. REST 路由生成表
| HTTP 方法 | 路径 | Action |
|---|---|---|
| GET | /articles | index |
| POST | /articles | create |
| GET | /articles/:id | show |
| PATCH/PUT | /articles/:id | update |
| DELETE | /articles/:id | destroy |