well, maybe I have a solution:
respond_to do |format|
format.js { self.response_body = minify(render_to_string) }
end
This perfectly works. Of course that the key is the minify method. You will find a lot of JS minifiers around. For example you can use this one (well if license permits): http://github.com/thumblemonks/smurf/raw/master/lib/smurf/javascript.rb - it is based on Crockford's jsmin.c.
If you put this file into your lib, require it, your minify method can look like this:
def minify(content)
min = Smurf::Javascript.new(content)
min.minified
end
Hope that it helped you.
If you plan to do minifying automatically then you probably should go for a piece of middleware. Surprisingly I was not able to find any (there are many aimed to the CSS/JS but it's about static assets not dynamic content) but it would not be such a problem to write it.