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