我不确定为什么这在 Rails 中不起作用,但它在 IRB 中起作用。
我正在做类似的事情:
response = response.first
response
是一个带有哈希的数组。
在 irb 中,当试图模拟这个时,它工作正常。
例如:
>> a = [{'a'=>3}]
=> [{"a"=>3}]
>> a = a.first
=> {"a"=>3}
但是在调试器模式下,在黄瓜中(在我的步骤定义中),我在执行上述语句时得到了这个:
例如:
(rdb:1) response = response.first
NoMethodError Exception: undefined method `first' for nil:NilClass
(rdb:1) response
nil
然后,response
设置为nil
.
为什么行为不一样?