2012-05-24 12 views

Odpowiedz

12

Aby to zrobić, musisz włączyć rejestrator, możesz to zrobić w następujący sposób.

otworzyć konsolę poręcze:

ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT) 

Wystarczy popatrzeć na ten link:

http://rubyquicktips.com/post/292826666/display-activerecord-generated-sql-queries-in-the

+0

Będziemy chcieli, aby połączyć to z 'jeśli skrypt/server'' $ 0 ==” tak, że wyjście nie zanieczyszcza testów ani żadnych zadań nachylenia dla exmaple. – Mikey

1
  • przejdź do lokalizacji console.rb/lib/rails/console.rb

  • Poszukaj ActiveRecord::Base.connection.instance_variable_set

  • go zmienić na następujące

ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)

3

podobny sposób do osiągnięcia tego celu, bez uciekania się do kopania w ActiveRecord wewnętrznych i stosując zmienne instancji jest tylko dostęp do obiektu config że Rails daje. Umieść to wewnątrz config/application.rb:

config.logger = Logger.new(STDOUT) if($0 == 'irb' || $0 == 'script/rails') 
+0

Wydaje się nie działać (Rails 4.0 tutaj) –

+0

Działa na Rails 2 – Batkins

Powiązane problemy