Как я могу настроить консоль rails для отображения строки кода, где выполняется sql? - PullRequest
0 голосов
/ 01 мая 2020

В настоящее время, когда я запускаю метод в консоли rails, он показывает все запросы sql, но я бы хотел, чтобы он также показывал, где в коде вызывается sql. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 01 мая 2020

Запуск ActiveRecord::Base.verbose_query_logs = true в консоли решил эту проблему для меня. Я нашел информацию здесь

0 голосов
/ 01 мая 2020

Pry (http://pry.github.com/) может помочь. Существует метод show-source, который будет делать это при запуске из консоли. Вот пример, который я сделал локально.

rails c

DEBUG: Chewy strategies stack: [2] <- urgent @ /Users/jmlockl2/.rvm/gems/ruby-2.3.1@ask/gems/chewy-0.9.0/lib/chewy/railtie.rb:49
Loading development environment (Rails 3.2.22.5)
2.3.1 :001 > pry

[1] pry(main)> q=Question.last
  Question Load (0.2ms)  SELECT `questions`.* FROM `questions` ORDER BY `questions`.`id` DESC LIMIT 1
=> ...

[2] pry(main)> q.email

  User Load (0.2ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 535441 LIMIT 1
=> "email@gmail.com"
[3] pry(main)> show-source q.email
[3] pry(main)> show-source q.email
From: /Users/...question.rb @ line 564:
Number of lines: 3
Owner: Question
Visibility: public

def email
  self.submitter.present? ? self.submitter.email : ''
end
[4] pry(main)>

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...