View on GitHub

akkunchoi.github.com

Rails 3.2 tips

assetsのログを消したい

こういうのが大量にでるので消したい。

Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2012-11-13 19:41:17 +0900
Served asset /jquery_ujs.js - 304 Not Modified (0ms)

initializerを追加して無理やりなんとかする。

# config/initializers/quiet_assets.rb
Rails.application.assets.logger = Logger.new('/dev/null')
Rails::Rack::Logger.class_eval do
  def call_with_quiet_assets(env)
    previous_level = Rails.logger.level
    Rails.logger.level = Logger::ERROR if env['PATH_INFO'].index("/assets/") == 0
    call_without_quiet_assets(env).tap do
      Rails.logger.level = previous_level
    end
  end
  alias_method_chain :call, :quiet_assets
end

http://blog.yabasoft.biz/archives/3905

WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

なぜかたくさん出る警告。これはWEBrickの問題らしい。

ということで thin を入れた。

# Gemfile
gem 'thin'

WEBrickだと頻繁に落ちることがあったが、それも thin で解決した。

application.css isn’t precompiled

Productionで出現したエラー。

よくわかってないが、productionの設定を変更して解決した。asset pipelineの恩恵受けたい。

# config/environments/production.rb
config.assets.compile = true

変更後は再起動を忘れずに。

$ touch tmp/restart.txt