2010-03-09 17 views
1

J'ai un contrôleur avec une action similaire à ceDebugger dans la méthode de la classe se termine dans le contrôleur

class EventsController < ApplicationController 

    .... 

    def test 
     Events.first.test 
    end 

    .... 

end 

et un modèle similaire à celui

class Event < ActiveRecord::Base 

.... 

    def test 
     debugger 
    end 

.... 

end 

Ce qui me confond est que, lorsque le l'action est déclenchée et appelle la méthode du modèle qui m'apporte alors le débogueur, je ne suis pas dans la méthode du modèle.

les débogueurs liste de commande me apporte cette

(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 

et auto n'est pas une instance de la classe Même

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

Suis-je manque quelque chose? Comment puis-je obtenir le débogueur dans la méthode de test de la classe Event?

+0

Depuis [byebug] (https://github.com/deivid-rodriguez/byebug) 1.6.0, cela devrait fonctionner hors de la boîte. Saluer. – deivid

Répondre

3

Oui c'est avec retour implicite en dernière ligne.

Ajouter une ligne après votre débogueur comme


    def test 
     debugger 
     puts 'debug' 
    end