我需要从 rspec 向控制器发送一个 cookie 请求。我使用 request.cookies['remember_token'] = 'foo' 来设置所需的 cookie,但是控制器以某种方式接收到先前请求留下的错误值。
例如,我设置 cookie 并在规范中发送 put 请求:
before do
request.cookies['remember_token'] = 'foo'
put 'update', calendar_id: cal.id, id: @day.id, comment: 'Test comment!'
end
将 request.inspect放入控制器显示以下内容:
@set_cookies={"remember_token"=>"bar"}, @cookies={"remember_token"=>"foo"}
似乎 @set_cookies={"remember_token"=>"bar"} 是从之前在同一规范中提出的请求中留下的。当我在控制器中访问 cookies['remember_token'] 时,它返回来自 @set_cookies 的值,而不是 @cookies。
@set_cookies 是什么,我做错了什么?