この投稿のフォローアップとして: 生成されているすべてのクエリをログに記録しようとしています。これをイニシャライザに配置しようとしましたが、コンソールで実行して実行しても実行されないようです。
私は次のことを試しました:
connection = ActiveRecord::Base.connection
class << connection
alias :original_exec :execute
def execute(sql, *name)
# try to log sql command but ignore any errors that occur in this block
# we log before executing, in case the execution raises an error
raise "THROW AN ERROR"
begin
file = File.open(RAILS_ROOT + "/log/sql.txt",'a'){|f| f.puts Time.now.to_s+": "+sql}
rescue Exception => e
;
end
# execute original statement
original_exec(sql, *name)
end
end
そして、実行します
Person.last
そして、私はまだエラーが発生しません。