在开发模式下,我希望能够在控制台中看到SQL查询被触发的位置。
当前在我的控制台中显示的是什么(愚蠢的示例查询)
User Load (1.7ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 65 LIMIT 1
字符串
我希望看到的
application_controller.rb:68
User Load (1.7ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 65 LIMIT 1
型
3条答案
按热度按时间uz75evzq1#
对于未来的谷歌人:gem active_record_query_trace也可以做到这一点,甚至更多。
yacmzcpb2#
checkout https://github.com/RISCfuture/sql_origin以获得提供该功能的gem。
9cbw7uwe3#
从Rails 6+开始(可能更早),不需要额外的gem,该功能现在内置在Rails中。
字符串
请参阅Rails指南:Rails应用程序:详细查询。
您也可以在应用程序配置中设置它。
型
它甚至在Rails 7+中默认启用。请参阅Rails指南:配置Rails应用程序。