我想查看ActiveRecord生成的一些查询,但我不需要实际运行它们。有没有办法在返回结果之前获取查询?
答案 0 :(得分:5)
这两篇文章都可以帮助你做你想做的事。
http://weblog.jamisbuck.org/2007/1/8/watching-activerecord-do-it-s-thing
http://weblog.jamisbuck.org/2007/1/31/more-on-watching-activerecord
答案 1 :(得分:2)
我认为它被埋没在:
construct_finder_sql,
http://groups.google.com/group/rubyonrails-talk/browse_frm/thread/38c492e3939dd9bf/?pli=1
答案 2 :(得分:2)
tail -f log / development.log
在默认设置下工作或将记录器级别设置为DEBUG。
答案 3 :(得分:0)
Jamis的文章已经过时,或者至少不能正常使用我的Rails应用程序(可能是由于其他原因,使用3岁的30,000行应用程序)。但是,这可以在控制台中随时使用:
ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)