Ruby on rails 检测更改Rails应用程序中属性值的代码

Ruby on rails 检测更改Rails应用程序中属性值的代码,ruby-on-rails,debugging,Ruby On Rails,Debugging,我从以前的开发人员那里继承了一个巨大的Rails应用程序,现在遇到了一个bug——某个属性被一些代码以错误的方式突然更改 我正在寻找一些工具,可以帮助我检测做出错误更改的代码。应用程序中的许多地方都在更新该属性。我使用的是RubyMine,而不是该产品,你有一个Debbug modus,过去对我有很大帮助: 以下是有关调试rails应用程序的更多信息: 这里是我的用于rails上开发环境的gem essentials: group :development do gem 'better_

我从以前的开发人员那里继承了一个巨大的Rails应用程序,现在遇到了一个bug——某个属性被一些代码以错误的方式突然更改


我正在寻找一些工具,可以帮助我检测做出错误更改的代码。应用程序中的许多地方都在更新该属性。

我使用的是RubyMine,而不是该产品,你有一个Debbug modus,过去对我有很大帮助:

以下是有关调试rails应用程序的更多信息:

这里是我的用于rails上开发环境的gem essentials:

group :development do
  gem 'better_errors'
  gem 'quiet_assets'
  gem 'rails_layout'
  gem 'binding_of_caller'
  gem 'capistrano', '~> 3.1.0'
  gem "rspec-rails", "~> 2.14.0"
  gem "factory_girl_rails", "~> 4.2.1"
  gem 'seed_dump'
end
看一看更好的错误——它通常可以完成这项工作(也许不是针对您面临的这个特定问题,但通常您可以在不浏览rails服务器输出的情况下找出98%的错误)。
-

主机对调试有一个建议。他们推荐的工具叫做。包括宝石“byebug”,你把方法放在你认为正在发生变化的地方,你可以在代码发生时一行一行地检查代码,并在进行过程中检查局部变量。

大量
放置
/
记录器。代码中的info
语句可能是唯一的方法:-)@Prakash Murthy:噢,上帝!已经有很多日志记录了。在这些日志中很难找到什么。受RSpec书的启发,我使用了
logger.info“\n####\n从某处登录的东西\n####\n”
,以使日志以独特的方式显示。我不知道整个情况,但设置日志就像是一步一步地调试应用程序。我的意思是,如果您知道发生了哪些操作(或哪些操作),您可以调试属性的值。我会用简单的puts在控制台中直接执行。如果你在过滤器前一个接一个地关闭,看看有没有什么变化,也许会有帮助。问题是这种非常特殊的变化很少发生,而且只发生在生产中。保罗,如果不知道确切的问题是什么,我很难帮助你。您是否镜像了生产数据库并在您的开发工具上获取了最新的源代码?我想你不知道复制这个问题的步骤吧?你可以在这里发布任何提示吗?