我想尝试一个简单的机架中间件“hello world”,但我似乎卡住了。看起来主语法发生了变化,因为一些示例使用以下代码:
require 'rack/utils'
class FooBar
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
body.body << "\nHi from #{self.class}"
[status, headers, body]
end
end
产生错误:
undefined method `<<' for #<ActionDispatch::Response:0x103f07c48>
即使我查看那里的其他代码,我似乎也无法让它们与 rails 3.0.3 一起运行。
这是我的具体问题:
- 如何获得一个简单的机架中间件来运行和修改 Rails 应用程序的任何输出的主体?
- 我应该把 Rails.application.config.middleware.use 声明放在哪里?(为此,我在 config/initializers 中创建了一个自己的初始化程序)
提前非常感谢!