【发布时间】:2011-09-27 21:31:23
【问题描述】:
我在app/helpers/application_helper.rb 中有一个调用cookies 的方法。这是完全允许的;这种方法在我的开发环境中运行良好,并且知道我说 cookies 时的意思。
我正在使用 TestUnit(test/unit/helpers/application_helper_test.rb)测试这个帮助程序并收到错误
NoMethodError: undefined method `cookies' for nil:NilClass
即使对于 不设置 cookie 的四个测试。这与需要“使用cookie_jar 在测试中设置cookie”无关,因为问题不在于我正在设置cookie 而我的助手没有识别它们,问题在于object cookies 正在被调用 是 nil。
我不确定哪个控制器对象 cookies 被调用,所以我 p 将它们全部找出来,发现在 @controller、@request 和 @response 中,只有 @987654333 @ 为零。所以我尝试将其设置为“牛”。确实如此!我的错误改变:
NoMethodError: undefined method `cookies' for "cow":String
看来我只需要删除@response。我该怎么做?
或者我是不是在这里太过分了,把事情复杂化了?
【问题讨论】:
标签: ruby-on-rails cookies helpers testunit