类方法中的调试器最终在控制器中

时间:2010-03-09 10:41:53

标签: ruby-on-rails ruby debugging ruby-debug

我有一个类似于此操作的控制器

class EventsController < ApplicationController

    ....

    def test
      Events.first.test
    end

    ....

end

和类似的模型

class Event < ActiveRecord::Base

....

    def test
        debugger
    end

....

end

让我感到困惑的是,当触发动作并调用模型的方法然后给我调试器时,我不在模型的方法中。

调试器 list 命令给我带来了这个

(rdb:73) list
[1327, 1336] in /Library/Ruby/Gems/1.8/gems/actionpack-2.3.4/lib/action_controller/base.rb
   1327        end
   1328  
   1329        def perform_action
   1330          if action_methods.include?(action_name)
   1331            send(action_name)
=> 1332            default_render unless performed?
   1333          elsif respond_to? :method_missing
   1334            method_missing action_name
   1335            default_render unless performed?
   1336          else

self 不是Even类的实例

(rdb:73) self
#<EventsController:0x1032786d0 @performed_render=false, @_headers={"Cache-Control"=>"
....

我错过了什么吗?如何将调试器放入Event类的测试方法中?

1 个答案:

答案 0 :(得分:3)

是的,最后一行有隐含的回报。

在调试器之后添加一些行,如


    def test
        debugger
        puts 'debug'
    end