【发布时间】:2023-03-18 17:42:01
【问题描述】:
我有一个网站由于内存溢出而被终止。它在来自用户 Web 浏览器的 PUT 请求期间触发。不幸的是,日志在这种情况下没有帮助。我已将问题追溯到此方法定义:
# app/controllers/registrations/profiles_controller.rb
def update
update! do |success, failure|
success.html { redirect_to edit_registration_diagnosis_path }
failure.html do
build_diagnosis
render 'edit'
end
end
end
我想查看这个update! 方法的源代码。如何让 ruby 或 rails 或 bash/grep 向我展示此源代码?
我试过了:
git grep 'def update!' # no results
我的环境: $ 导轨--版本 导轨 3.2.22.5 $红宝石--版本 红宝石 1.9.3p551
【问题讨论】:
-
你用的是什么文本编辑器?
-
activerecord/lib/active_record/persistence.rb,也许你想挖掘一下你当前的 Rails 版本。 -
我正在使用我的客户站点上安装的内容 (sublime/textedit)
-
我怀疑
activerecord/lib/active_record/persistence.rb定义了该更新!我们正在寻找。因为我们在控制器的上下文中,而活动记录是不同的上下文(模型)
标签: ruby debugging memory-leaks introspection