Rails中间件 #
一、中间件概述 #
1.1 什么是中间件 #
中间件是Rack应用,在请求到达控制器之前和响应返回之前执行。
1.2 查看中间件栈 #
bash
rails middleware
二、自定义中间件 #
2.1 创建中间件 #
ruby
# lib/middleware/request_logger.rb
class RequestLogger
def initialize(app)
@app = app
end
def call(env)
start = Time.now
status, headers, response = @app.call(env)
duration = Time.now - start
Rails.logger.info "Request took #{duration}s"
[status, headers, response]
end
end
2.2 注册中间件 #
ruby
# config/application.rb
config.middleware.use RequestLogger
三、总结 #
3.1 核心要点 #
| 要点 | 说明 |
|---|---|
| Rack | 中间件基础 |
| call方法 | 处理请求 |
| use | 注册中间件 |
3.2 下一步 #
现在你已经掌握了中间件,接下来让我们学习 Active Job,深入了解Rails的后台任务!
最后更新:2026-03-28