【问题标题】:How to run arbitrary rails code when binding.pry is called调用 binding.pry 时如何运行任意 Rails 代码
【发布时间】:2016-05-23 04:59:16
【问题描述】:

有没有办法在调用binding.pry 时运行代码?我想做ActiveRecord::Base.logger = Logger.new(STDOUT)看sql查询。

我希望每次使用 binding.pry 时都运行它,而不仅仅是手动运行一次。

【问题讨论】:

  • 您应该获得撬“shell”并能够运行任意 Ruby。您有具体问题吗?
  • 澄清了我的问题。我希望它每次都运行,而不必每次都重新输入
  • @Stefan 看起来像答案。如果您想用简短的描述(为后代)做出实际答案,我会将其标记为答案

标签: ruby-on-rails ruby pry


【解决方案1】:

可以在到达 pry 提示符之前执行 pry hook

Pry.hooks.add_hook(:before_session, "my_hook") do |output, binding, pry|
  ActiveRecord::Base.logger = Logger.new(STDOUT)
end

pry 的人已经在 github.com/pry/pry/wiki/Hooks 上很好地记录了这一点

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多