1

これに似たアクションのコントローラーがあります

class EventsController < ApplicationController

    ....

    def test
      Events.first.test
    end

    ....

end

そしてこれに似たモデル

class Event < ActiveRecord::Base

....

    def test
        debugger
    end

....

end

私を混乱させるのは、アクションがトリガーされ、モデルのメソッドを呼び出してデバッガーを呼び出すと、モデルのメソッドにいないということです。

debuggers 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 クラスのテスト メソッドに入れるにはどうすればよいですか?

4

1 に答える 1

3

はい、最後の行に暗黙のリターンがあります。

デバッガーの後に次のような行を追加します


    def test
        debugger
        puts 'debug'
    end
于 2010-03-09T11:15:33.890 に答える