目前,当我在 rails 控制台中运行一个方法时,它会显示所有 sql 查询,但我希望它也能显示在代码中调用 sql 的位置。我怎样才能做到这一点?
问问题
381 次
2 回答
4
ActiveRecord::Base.verbose_query_logs = true
在控制台中运行为我解决了这个问题。我在这里找到了信息
于 2020-05-01T14:10:00.303 回答
0
撬 ( 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)>
希望这可以帮助!
于 2020-05-01T14:06:15.600 回答