よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

August 15, 2006 [おもひで]

[Ruby] Gemをユーザディレクトリにインストールする

もしかしたら、あまり知られてないのかな。レンタルサーバなんかでルート権限がない場合、$HOMEの直下辺りにGemをインストールして、GEM_HOMEを設定してあげれば良い。詳しくは、こちら

[Rails] ApplicationControllerでContent-Typeをbefore_filterでセットするのはいい加減やめませんか運動

以下みたいなコード、なんだかまだ見かけるし、Railsの書籍を見てもほとんどと言っていいほど出てくるんだけど、RJSと一緒に(一部の環境では)使えないという問題があります。Rails使うんだったらRJSも使いたいよね?

(誤)
class ApplicationController < ActionController::Base
  before_filter :set_charset
  def set_charset
    headers['Content-Type'] = "text/html;charset=utf-8"
  end
end

代わりに以下のようにすればOK。

class ApplicationController < ActionController::Base
  REGEXP_CONTENT_TYPE = /javascript/
  after_filter :set_charset
  def set_charset
    @headers["Content-Type"] ||= "text/html; charset=utf-8"
    if REGEXP_CONTENT_TYPE =~ @headers["Content-Type"]
      @headers["Content-Type"] = "text/javascript; charset=utf-8"
    end
  end
end

過去に一度もうちょっと詳しく言及してるんだけど、それはこの辺から辿ってみてください。

でも、Ruby-GetTextは上記を内部でやってくれるので考える必要すらない。

require 'gettext/rails'
 
class ApplicationController < ActionController::Base
  init_gettext "blog"
end

これだけでも、Ruby-GetTextを入れてみるべきだっだっだっ!

あ、そうそう。一番言いたかったのはこんなことじゃないな。before_filter :set_charsetとinit_gettextを併用しているコードを見かけたんだけど、それは無駄すぎです(苦笑)。

というわけで、この情報をHikiに追加してみた。

本日のツッコミ(全2件) [ツッコミを入れる]
takahashim (August 16, 2006 02:36)

なんと。知りませんでした>それは無駄すぎです(苦笑)<br>参考になります。

むとう (August 17, 2006 20:56)

お役に立てて何よりです ;)。


編集