我正在尝试为访问模型组的控制器编写 rspec 测试。
@request.env['HTTP_REFERER'] = group_url(@mock_group) ### 第 49 行
我明白了:
'ActsController 中的 NoMethodError 响应创建应重定向到:back' 当你没想到时,你有一个 nil 对象! 评估 nil.rewrite 时发生错误 /Library/Ruby/Gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:621:in `url_for' (eval):17:in `group_url' /Library/Ruby/Gems/1.8/gems/actionpack-2.1.0/lib/action_controller/test_process.rb:464:in `send!' /Library/Ruby/Gems/1.8/gems/actionpack-2.1.0/lib/action_controller/test_process.rb:464:in `method_missing'
url_for 中的这一行是问题所在;特别是@url 为零。
@url.rewrite(rewrite_options(options))
似乎 @url 在这里初始化:
def initialize_current_url @url = UrlRewriter.new(request, params.clone) 结尾