In rails, can I access response.body in a action before it returns?
Say I want to do some final string replacements before it returns, can I get access to response.b
You can write a rack middleware to do such kind of replacements. Code for the rack is.
module Dump
require 'rack'
class Response
def initialize(app)
@app=app
end
def call(env)
res=@app.call(env)
res.body #change this and but also update res.length and header["Content-Length"]
return res
end
end
end
include it in some file, lets call it dump_response.rb in RAILS_ROOT/lib folder. And line
use Dump::Response
in config.ru