新手问题 怎么在 rails console 里显示 SQL 语句?

railsboy · 2017年09月15日 · 最后由 zhihui 回复于 2019年04月17日 · 2729 次阅读

接触 ruby 时间不长,不忙的时候就看看项目中的代码,也在学习 ruby 基本知识。今天想着想在 irb 中打印下 sql 语句,比如想测试下“rails 中 preload、includes、Eager load、Joins 的区别”,想看看对应的 sql 语句,就是想要达到 rails s 的效果(有 sql、有配色)。

在网上找了资料,直接在 rails console 里输入 ActiveRecord::Base.logger = Logger.new(STDOUT),能直接在 iterm 中看到 sql 了,虽然没有配色,而且重新 rails c 还要执行这条命令。

但是在配置文件 config/environments/development.rb 下加入 ActiveRecord::Base.logger = Logger.new(STDOUT),重新执行 bundle exec rails c,却不行。

有些苦恼,求助下。😢 😢 😢

在 development.rb 中加入

config.after_initialize do
    logger = Logger.new(STDOUT)
    ActiveRecord::Base.logger = logger
    ActiveResource::Base.logger = logger
end
easonlovewan 回复

噢噢,没有写回调😅 那怎么给 sql 加配色呢

chromer 回复

pry 是可以,,但是想在 rails c 上看,,

railsboy 关闭了讨论。 09月28日 16:09
railsboy 重新开启了讨论。 03月02日 13:00

作者你好,看了你写的文章觉得 666,能否加个 qq 聊聊?

railsboy 关闭了讨论。 04月23日 16:59
需要 登录 后方可回复, 如果你还没有账号请 注册新账号