2012-05-09 5 views
1

私はRailsで開発者モードに入っています。
ARを使用してバイナリデータを含むレコードをDBに挿入しようとしています。Rails ActiveRecordどのように特定のクエリのログをオフにすることができます

Edoc.create(
      :id_claim => @claim_index, 
      :id_material => @doc_code, 
      :size => @file_list.first[:size], 
      :efile => params[:files][0].read 
     ) 

しかし、Railsはファイルコンテンツ全体でこのクエリを記録するため、時間がかかります。

特定のクエリのログをオフにすることはできますか?

答えて

0

試してみてください。

old_logger = ActiveRecord::Base.logger 
ActiveRecord::Base.logger = nil 
# your code here... 

はロガーを復元します。

ActiveRecord::Base.logger = old_logger; nil # nil just to suppress some garbage 
+0

あなたはactivesupportの:: BufferedLogger番号の沈黙を使用することができますが、この方法では、Railsの3.2で廃止されました。しかし、コードを見て、クエリが失敗すると、他のクエリのためにロガーをnilにしないでください。https://github.com/rails/rails/blob/c9cd0eb2d01c262b987070d739cf1d5e46672c10/activesupport/lib/active_support/buffered_logger。 rb#L30 – bcd

+0

ありがとう助けを借りて –

+0

私はもう一つの解決策を見つけました。 http://stackoverflow.com/questions/4952073/disable-blob-logging-in-rails-3 –

関連する問題