我有一个Rails应用程序在开发环境的docker容器中运行。当我尝试通过将binding.pry放置在代码中的某处并附加到容器来对其进行调试时,我可以在输出中看到pry提示,但它没有不要停在它上面,我不能像没有docker容器那样与之交互。那么我该如何调试一个容器化的应用呢? 最佳答案 如果您使用的是docker-compose,您可以将这些标志添加到docker-compose.yml:app:tty:truestdin_open:true然后使用dockerattachproject_app_1附加到您的流程。pry-rail
MySQL中的MUL、PRI和UNI有什么区别?我正在处理MySQL查询,使用以下命令:descmytable;其中一个字段显示为MUL键,其他字段显示为UNI或PRI。我知道,如果一个键是PRI,那么每个表只能有一条记录与该键相关联。如果一个键是MUL,这是否意味着可能有多个关联记录?这是mytable的响应。+-----------+---------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-----------+---------+------+-----+---------+----
当我在pry或常规irb控制台中输入一个对于控制台宽度来说太长的字符串时,它会像往常一样换行,请参见下文(在OSX10.8.2terminal.app中使用pry):然而,当我尝试使用向上箭头重播命令时,我得到了这个:Pry切断一些命令并重复提示。另一方面,Irb表现得很好,甚至可以在需要时向上滚动缓冲区: 最佳答案 Kyrylo:如果您Pry.auto_resize!,我们已将其修复在master分支中但这里的问题是(正如ryanf在Freenode#pry上指出的那样),提示中有颜色转义。\e[XXn不占用空间,但算作5个字节,
我的工作站:$uname-aLinuxdsktop3.13.0-77-generic#121-UbuntuSMPWedJan2010:50:42UTC2016x86_64x86_64x86_64GNU/Linux$ruby-vruby2.2.4p230(2015-12-16revision53155)[x86_64-linux-gnu]#(alsosamebehaviorwithruby2.3.1)我对此进行了研究,发现pry-navworkunexpectedly--但根据该问题重新安装并没有解决我的问题。问题——我最近使用BrightboxCloudppa资源在系统范围内安装了Ru
我正在使用用于ruby的pryREPL及其rails插件(gempry-rails)。目前pry拥有所有项目的全局历史。是否可以对其进行配置,使每个Rails项目都有自己的历史文件? 最佳答案 在history下的Prywiki上有这方面的说明,这是您想要的相关部分:Example:Putthehistoryfileinthecurrentdirectory,foraseparatehistoryper-project:Permanently(ina.pryrcfile)Pry.config.history.file=".pry
是否可以从Ruby文件中访问Pry的show-source方法?如果是这样,这是如何完成的?例如,如果我有这个文件:#testing.rbrequire'pry'deftestingputs'hi'endputsshow-sourcetesting然后运行rubytesting.rb,我想要输出:Owner:testing.rbVisibility:publicNumberoflines:3deftestingputs'hi'end为了解释这样做的基本原理,我有一个测试stub方法,尽管原始方法似乎偶尔会被调用,我认为输出调用源以查看它的来源会很方便。我知道有更简单的方法可以做到这
我已经加载了pry并且正在调试一些对象。很多时候,如果我只输入对象的名称,pry就会自行输出它的表示形式,而且看起来很棒。示例:例如,这就像在pry提示符下做类似的事情:[1]pry(main):1>@myobj结果:困惑:我没有调用pp@myobj或y@myobj或ap@myobj或@myobj.inspect如果我确实调用其中任何一个,我得到的输出看起来会有所不同(并且格式不那么漂亮)问题:调用什么方法以这种方式输出对象?我可以在脚本文件中使用该方法来使用同样漂亮的格式输出格式吗?(即执行pry然后运行load/path/to/my/file.rb?)
我有一个简单的脚本来处理来自STDIN的行。有时会出现异常-一些UTF-8转换错误-我想检查变量,是什么导致了错误。我在我的文件中使用了以下语法(让我们调用filter.rb),但我从未收到Pry提示:#!/usr/bin/rubyrequire"pry"n=0whileline=STDIN.getsdobeginn=n+1raise"anexception"ifn==2rescue=>ebinding.pryendend当我发布时:catdata.txt|rubyfilter.rb我在屏幕上看到:5:whileline=STDIN.getsdo6:begin7:n=n+18:rais
我读过这些很棒的pry插件(例如pry-debugger、pry-stack_explorer),但是经过将近30分钟的搜索,我找不到任何关于如何安装它们的文档.我去了他们的githubsite,prywiki并阅读/观看了几个教程,但其中没有关于安装的内容。 最佳答案 每个以pry-开头的pry插件都是自动加载的。您只需要geminstallpry-name。Here是关于插件的链接(也创建插件)和确切的引用:AvalidPrypluginisagemthathasthepry-prefix(suchasthepry-docgem
我有以下方法:defupdateloan=Loan.find(params[:id])pryrespond_withloan.update(loan_params)end所以我希望当我在控制台中窥探时,我应该能够键入loan并获取对象,但我却得到“未定义的局部变量或方法‘loan’”,我是不是做错了什么? 最佳答案 您需要使用binding.pry来加载当前对象范围内的pry(我认为pry只是加载一个没有范围的prysession。) 关于ruby-on-rails-无法在pry中访问本