有如下测试代码
it 'xxx' do
get '/aaa'
get '/bbb'
end
测试时发现,两次请求都使用的同一个 controller 实例,然后我在 filter 中有一段类似下面的代码
def my_filter
return @a if @a
@a = 'xxx'
# @a ||= 'xxx'
end
在如上代码中,my_filter
中被注释的代码执行两次请求时没一点问题,每次@a都是 nil
但是到my_filter
当前没被注释的代码中,除了第一次@a是 nil, 后面再次 request 时还是上一次的值
现在我想不明白,my_filter
为那么会出现上会情况 ||=
不是 @a = @a || 'xxx'
吗?