Rails 的路由不是“配 URL”这么简单。
它更像城市门牌系统。
最经典的写法是资源式路由:
Rails.application.routes.draw do
root "permits#index"
resources :permits
end这一行:
resources :permits不是偷懒语法。
它是在告诉工务署:
“Permit 这种资源,按标准施工流程来”于是 Rails 会直接生成一整套标准道路:
GET /permits -> index
GET /permits/new -> new
POST /permits -> create
GET /permits/:id -> show
GET /permits/:id/edit -> edit
PATCH /permits/:id -> update
DELETE /permits/:id -> destroy这套东西背后不是死记七条路,而是背后这层脑回路:
资源 = 一类城市对象
HTTP 动词 = 对这类对象做什么操作
Controller action = 受理哪一种操作也就是说,Rails 不是先问“我要写几个接口”。
而是先问:
你在管理什么资源?
这也是 Rails 和很多“从函数入口出发”的框架很不一样的地方。