2009-05-29 7 views
3

Weiß jemand, warum, wenn ruby-debug Verwendung von debugger in einem Verfahren als before_filter genannt Aufruf, die params und session Hashes sind nicht definiert?undefined params und Session-Hashes in before_filter

class MyExampleController < ActionController::Base 

    before_filter :test_hashes 

    def test_hashes 
    pp session  
    pp params #both work as expected.. 

    debugger #calling the debug console 
    end 

    def index 
    #whatever.. 
    end 

end 

#the rdb console 
(rdb:5) pp params 
NameError Exception: undefined local variable or method 'params' for #<ActionController::Filters::BeforeFilter:0x3eafda0> 
(rdb:5) pp session 
NameError Exception: undefined local variable or method 'session' for #<ActionController::Filters::BeforeFilter:0x3eafda0> 

Ist das normales Verhalten oder mache ich etwas falsch?

Antwort

3

Versuchen Sie, die Variablen durch controller.params und controller.session erhalten eine bs setzen Zeile nach dem Aufruf an den Debugger und sehen, was passiert.

+0

A b.s. Linie..? Ich fürchte, ich verstehe nicht .. – andi

+0

ein numerisches Literal wie 1 oder so ähnlich. b.s. wie in Schwachsinn. – jshen

+0

Ich dachte, du beziehst dich auf diesen BS, aber ich konnte nicht sehen, wie das etwas nützen könnte. :) Aber ich habe es versucht und es hat funktioniert! Ich kann es nicht glauben! Woher?! Hast du eine vernünftige Erklärung? Ist das ein Fehler? – andi

0

Keine Ahnung, warum es nicht funktioniert, aber man kann

Verwandte Themen