Я хочу проверить несколько запросов, сгенерированных ActiveRecord, но мне не нужно их запускать. Есть ли способ получить запрос, прежде чем он вернет результат?
Как я могу увидеть SQL ActiveRecord?
Ответ 1
Обе эти статьи должны помочь вам делать то, что вы хотите.
http://weblog.jamisbuck.org/2007/1/8/watching-activerecord-do-it-s-thing
http://weblog.jamisbuck.org/2007/1/31/more-on-watching-activerecord
Ответ 2
Я думаю, что он похоронен в:
construct_finder_sql,
http://groups.google.com/group/rubyonrails-talk/browse_frm/thread/38c492e3939dd9bf/?pli=1
Ответ 3
tail -f log/development.log
Работает в настройках по умолчанию или когда вы устанавливаете уровень регистрации на DEBUG.
Ответ 4
Статья Jamis устарела или, по крайней мере, не работает мое приложение Rails (возможно, по какой-то другой причине с 3-летним 30 000-строчным приложением). Однако это работает в консоли в любое время:
ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)