3

有谁知道为什么,当ruby-debug通过调用debugger称为 a 的方法使用时,未定义before_filtertheparams和hashes?session

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>

这是正常行为还是我做错了什么?

4

2 回答 2

3

尝试在调用调试器之后放置一条 bs 行,看看会发生什么。

于 2009-05-29T22:25:00.837 回答
0

不知道为什么它不起作用,但是您可以通过 controller.params 和 controller.session 获取变量

于 2009-05-29T22:22:03.900 回答