如何在WEBrick中的Rails控制台中显示SQL语句?

时间:2012-05-24 04:17:03

标签: ruby-on-rails

Rails WEBrick显示任何ActiveRecord活动的原始SQL语句。如何在控制台中启用它?

3 个答案:

答案 0 :(得分:12)

要执行此操作,您必须启用记录器,您可以按如下方式执行此操作。

打开rails控制台:

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

看一下这个链接:

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

答案 1 :(得分:3)

实现这一目的的一种类似方法,无需借助于挖掘ActiveRecord内部结构并使用实例变量,只需访问Rails为您提供的config对象。将其放在config/application.rb

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

答案 2 :(得分:1)

  • 转到console.rb位置/lib/rails/console.rb

  • 寻找ActiveRecord::Base.connection.instance_variable_set

  • 将其更改为以下

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