1台のマシンに異なるバージョンのRailsアプリを走らせる

まず、gemで必要なものをインストールします。
Aアプリ(Rails-1.1.6+gettext-1.8.0)
Bアプリ(Rails-1.2.2+gettext-1.9.0)
こういう場合、gemでrailsやgettextを入れても
新しいのを呼び出そうとしてうまく動きません。
こういう場合はそれぞれ

rake rails:freeze:gems
cp -a /usr/lib/ruby/gems/1.8/gems/gettext-1.X.0 vender/plugins

を実行すると、Railsはvender/railsの中に、
その他の必要なgemはpluginsに入ります。
そうするとgemに依存しないアプリ環境ができあがりです。

send_fileとかでファイルをダウンロードさせるとcontent typeが変だ

applicationコントローラの中で、set_charsetフィルタを
定義している人は上書きされています。
名前は違っても、同じようなことをしている人は多いかと思います。

def set_charset
  headers['content-type']="text/html;charset-utf-8" unless request.xhr?
end

こんな感じのフィルタを定義しているかと思います。
これはAJAXではない場合はcontent-typeをtext/htmlにセットするという
内容です。そこで規定(社内のみ)をつくって、downloadから始まるアクションは
content typeを書き換えないようにしてみました。

def set_charset
  unless params[:action]=~/^download/ || request.xhr?
    headers['content-type']="text/html;charset-utf-8"
  end
end

こうすると、download_pdfとかいうアクションは
content typeが上書きされなくなっていい感じです。