ActiveRecord、単独使用の際エラー時に"undefined method `debug' for nil:NilClass"とかいわれる
概要
ActiveRecordのメソッドがエラーになったとき、
NoMethodError: undefined method `debug' for nil:NilClass from c:/home/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:2 793:in `log_protected_attribute_removal' from c:/home/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:2 777:in `remove_attributes_protected_from_mass_assignment' from c:/home/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:2 581:in `attributes=' from c:/home/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:2 283:in `initialize'
とかいわれる
原因
ActiveRecord::Base.loggerが初期だとnilになっているせいでログ吐く際にエラーで落ちるのが原因。null objectでもいれとけばいいのに……。
対策
なにかしらのLoggerを設定してやる。このLoggerクラスがどこから出てきたのかよくわかんないけど。
ActiveRecord::Base.logger=Logger.new(STDOUT)