Activerecordメソッドが生成したSQLクエリをどのようにトレースするか(例:find、where)Rails 3のアクティブレコードクエリからsqlクエリを取得する
2
A
答えて
2
コンソールからActiveRecordクエリをデバッグできます。
はrails console
ヒットと入力します。私はあなたがRailsの3.0.xのを使用していると仮定し
ActiveRecord::Base.logger = Logger.new(STDOUT)
1
、あなたのアクティブなレコードを構成することによってそれを行うことができます。今config/environments/development.rb
# Log ActiveRecord
ActiveRecord::Base.logger = Logger.new(STDOUT) if defined?
Rails::Console
でこれを入れて、すべてのクエリは、コンソールに説明されています。
1
where
を呼び出したときに返されたような関係オブジェクトに対してto_sql
を呼び出して、それらのクエリのSQLを取得できます。
0
あなたは永久にそれをしたい場合は(常にコンソールでクエリを表示する)だけで、それらのファイルを追加します。
〜/ .rvmrc
railsrc_path = File.expand_path('~/.railsrc')
if (ENV['RAILS_ENV'] || defined? Rails) && File.exist?(railsrc_path)
begin
load railsrc_path
rescue Exception
warn "Could not load: #{ railsrc_path }" # because of $!.message
end
end
〜/ .railsrc
require 'active_record'
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.clear_active_connections!
関連する問題
- 1. SQLクエリをRailsのアクティブレコードクエリに変換する方法?
- 2. Rails 3のアクティブレコードクエリでWHERE句を使用
- 3. Railsのアクティブレコードクエリ
- 4. SQLクエリから値を取得する
- 5. SQLからLinqクエリを取得する
- 6. Rails 3:無限のSQLクエリ?
- 7. Railsは3 javascriptのSQLクエリ
- 8. moodleのsqlクエリからカウントを取得
- 9. のRails 3:SQL関数を含むクエリ
- 10. SQL ServerクエリからXMLノードを取得
- 11. EF7クエリからSQLコードを取得
- 12. XSDファイルからSQLクエリを取得
- 13. SQLクエリからパラメータ名を取得
- 14. c#データベースからsqlクエリを取得
- 15. MySQL SQLクエリからのデータ取得
- 16. Rails 3からユーザーのFacebookページを取得する方法
- 17. Rails 3.配列からの合計を取得する
- 18. Rails - SQLクエリを使用してPaperclip URLを取得する
- 19. Rails 3 - "through" - DBからデータを取得する方法?
- 20. Rails 3 - データベースからデータを取得する方法
- 21. Railsの移行からSQLを取得する
- 22. すべてのデータベースからデータを取得するSQLクエリ
- 23. 現在の月から月のリストを取得するSQLクエリ
- 24. 2つのテーブルから別のレコードを取得するSQLクエリ
- 25. 取得SQLクエリ
- 26. sqliteクエリからselectカラム3を取得する
- 27. SQLクエリから特定のタイムスタンプを取得する方法
- 28. 現在の年をpostgres SQLクエリから取得する方法
- 29. SQL BIT型の列からブール値を取得するクエリ
- 30. データベースから同じデータを取得するためのsqlクエリ
[この](http://stackoverflow.com/a/5492207/498594)答えはあなたに多くの制御を与える - あなたは、アプリケーション自体のクエリにアクセスする。 – Kelvin