Rails 3 + Haml で production 環境下でもインデントする

Haml をしようするときれいにインデントがされるから好きなんですが、Rails の production 環境下ではインデントがされません。

Haml2.2からはRailsのproductionでインデントが無いと少数派に呼びかけている – komagata [p0t]

速度が問題になるまではインデントしたいので、上記 komagata さんが書かれているように設定したものの、 Rails 3 では上手く動きませんでした。

config.after_initialize でくくらないといけないみたいです。

Hoge::Application.configure do
  config.after_initialize do
    Haml::Template::options[:ugly] = false
  end
end

これを config/initializers/haml.rb に置きました。 1
config/application.rb や config/environments/production.rb の中でもいいですね(たぶん)。

  1. Hoge は適当なアプリケーション名に置き換えること。 []