下面把前面的概念串成一条完整流水线。
用户打开 /permits/new
|
v
Router 把请求送到 PermitsController#new
|
v
Controller 准备 @permit = Permit.new
|
v
View 渲染表单 form_with
|
v
用户提交 POST /permits
|
v
Router -> PermitsController#create
|
v
permit_params 白名单过滤
|
v
Permit.new(...).save
|
+--> 验证失败
| |
| v
| render :new, 422
|
+--> 验证成功
|
v
写入数据库
|
+--> 触发后台任务 / 邮件 / 附件处理
|
v
redirect_to /permits/:id
|
v
Controller#show
|
v
View 渲染 show 页面再看概念关系图:
HTTP Request
|
v
Route
|
v
Controller
|
+--> Strong Params
+--> Service / PORO
+--> Active Record
| |
| v
| Database
|
+--> View / Layout / Partial
|
+--> Active Job
| |
| v
| Queue Backend
|
+--> Mailer / Storage / Turbo Stream这张图一旦吃透,Rails 就从“会几个命令”变成“知道一座城怎么运转”。