gpt4 book ai didi

没有为 binding.pry 提供 REPL 的护栏

转载 作者:行者123 更新时间:2023-12-03 10:05:22 25 4
gpt4 key购买 nike

我正在使用护栏来运行我的rails服务器,我的问题是当我添加绑定(bind)时我无法访问REPL。我刚刚得到

From: /home/martinr/code/app/controllers/tools_controller.rb @ line 2 ToolsController#index:

2: def index
=> 3: binding.pry
4: @end_date = Date.today.to_s
5: @start_date = Date.today.months_ago(3).to_s
7: end

[1] pry(#<ToolsController>)>

没有 REPL,我如何使用 pry 和护栏?

我的 Gemfile 文件看起来像这样
group :development, :test do
gem 'pry-rails' # for better console debugging
gem 'pry-debugger'
gem 'rb-inotify'
gem 'sqlite3'
end

我的保护文件:
guard 'rails', :debugger => true do
watch('Gemfile.lock')
watch(%r{^(config|lib)/.*})
end

最佳答案

我已经用 Guard 和 Spork 设置了我的 rails 环境,我发现 binding-pry 对 guard 的行为很奇怪。如果我将 binding.pry 插入代码中,然后 guard 重新启动我的测试,则没有交互式调试。但是,如果我退出并再次开始警戒,它就会正常工作并正确地进入交互模式。

但是...如果我随后删除 binding.pry 行,guard 将按预期重新运行测试,但会在绑定(bind)行曾经所在的位置中断,即使它不再存在。

似乎每次插入或删除 pry 绑定(bind)时都必须重新启动防护。

令人恼火,但总比无法在测试中进行 pry 动要好。

关于没有为 binding.pry 提供 REPL 的护栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com