草庐IT

C++过滤调试事件

全部标签

ruby-on-rails - 如何调试在 IRB 控制台的 delayed_job 任务中运行的代码?

我有一个使用delayed_job运行的后台任务。我可以看到它确实从日志语句运行。与在前台运行相比,它似乎没有正确的结果,所以我想在IRB控制台中调试它。我正在运行后台任务rakejobs:work并且它不会触发调试器语句。如何加载调试器? 最佳答案 启动一个标准的rails控制台rubyscript/console并在此处启动一个worker,这将看到并触发调试器语句。worker=Delayed::Worker.newworker.start 关于ruby-on-rails-如何调试

ruby - jekyll 调试或打印所有变量

我想进入Jekyll的大脑,看看发生了什么,在php中你有get_defined_vars,所以我尝试做一些类似的事情:{%forlocal_variableinlocal_variables%}{{local_variable}}{%endfor%}什么都不输出。我是不是太努力了?ruby或jekyll中有一些方法吗?我只是想四处看看,确保一切设置正确,并可能找出我不知道的变量。 最佳答案 对于Jekyll2.x,您可以使用thisplugin.它允许你做类似{{site|调试}}。从Jekyll3开始,你有{{variable|

ruby-on-rails - Gem 安装调试器错误

我在MacOS10.9.2上运行Railsv4.0.2,一切顺利。当我尝试railsserver时,突然收到一条错误消息,提示缺少gems。我运行bundleinstall,这是输出:Fetchinggemmetadatafromhttps://rubygems.org/.......Fetchingadditionalmetadatafromhttps://rubygems.org/..Usingrake10.1.1Usingi18n0.6.9Usingminitest4.7.5Usingmulti_json1.9.0Usingatomic1.1.16Usingthread_safe

ruby-on-rails - 安装调试器时出错 : Failed to build gem native extension with ruby-1. 9.3-p362

尝试为新项目运行bundle时,遇到以下错误:Installingdebugger(1.2.2)withnativeextensionsGem::Installer::ExtensionBuildError:ERROR:Failedtobuildgemnativeextension.C:/Ruby193/bin/ruby.exeextconf.rbcheckingforrb_method_entry_t.called_idinmethod.h...nocheckingforrb_control_frame_t.method_idinmethod.h...nocheckingforrb_

ruby-on-rails - 在没有额外的 sql 查询的情况下过滤 activerecord 关系?

如何在不执行额外查询的情况下过滤AR查询的结果?例如u=User.where(name:"bob",age:[10,20])#1stselectquerytodbu.class#ActiveRecord::Relationtens=u.where(age:10)#2ndselectquerytodb我不希望第二个查询调用数据库,而是过滤在u(第一个查询)中检索到的结果。 最佳答案 ActiveRecord:Relation仅在访问其元素时查询数据库。因此,您拥有的序列根本不会调用数据库,除非您编写类似u.first或tens.fir

ruby-on-rails - Ruby 2.1.0/2.1.1/2.1.2 不支持调试器 gem

我刚刚将我的RVMRuby安装升级到版本2.1.0并尝试捆绑安装时出现以下错误:Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension.Rubyversion2.1.0isnotsupported.***extconf.rbfailed***这个错误当然是不言自明的,但我想知道是否有办法让Debuggergem与最新版本的Ruby一起工作? 最佳答案 看起来1.6.5版增加了对Ruby2.1.0的支持。-按预期工作。更新:由于Ruby2.1.1已经发布,因此应该使用1.6

ruby-on-rails - 如何要求在 Rails 之外工作的事件记录

我需要要求事件记录,但我在rails之外工作(原因如下:SimpleRubyInputValidationLibrary)。我需要require整个railsgem,还是我可以成为DRYer? 最佳答案 下面是我在Rails之外使用ActiveRecord的方式:#!/usr/bin/rubyrequire'active_record'require'mysql2'#or'pg'or'sqlite3'ActiveRecord::Base.establish_connection(adapter:'mysql2',#or'postgr

ruby - 如何调试 ruby​​ 代码?

我运行的是Ubuntu10.10。我只想调试一个简单的脚本。在花了半天时间试图弄清楚如何做到这一点后,我放弃了。我到底该怎么办?我从Ubuntu存储库安装了ruby-dev我运行了sudogeminstallruby​​-debug和sudogeminstallruby​​-debug-ide我尝试了几种不同的方法来完成这项工作。我试过require'ruby-debug'然后在代码的某处设置debugger。但是Ruby找不到ruby-debug。我尝试设置vim-ruby-debugger,这将花费ages来执行:RdebuggermyScript.rb并允许我设置断点,但似乎没有

ruby-on-rails - 带有委托(delegate)和条件的事件记录

是否可以在您的ActiveRecord模型中使用委托(delegate)并在其上使用类似:if的条件?classUser:master,:if=>:has_master?belongs_to:master,:class_name=>"User"defhas_master?master.present?endend 最佳答案 不,你不能,但你可以传递:allow_nil=>true选项以在master为nil时返回nil。classUser:master,:allow_nil=>true#...enduser.master=nilus

ruby - 在 Sinatra 中,你如何制作一个 "before"过滤器来匹配除某些路由之外的所有路由

我有一个RubySinatra应用程序,我有一些代码需要在除少数异常(exception)情况外的所有路由上执行。我该怎么做?如果我想在选定的路由(白名单样式)上执行代码,我会这样做:['/join',"/join/*","/payment/*"].eachdo|path|beforepathdo#somecodeendend我该如何反其道而行之(黑名单样式)?我想匹配除'/join'、'/join/*'和'/payment/*'之外的所有路由 最佳答案 负面前瞻:before/^(?!\/(join|payment))/do#..