gpt4 book ai didi

ruby-on-rails - 在 rails 中测试签名的 cookie

转载 作者:行者123 更新时间:2023-12-04 14:34:38 25 4
gpt4 key购买 nike

我在 Rails 3 中使用签名 cookie 来启用应用程序中的“记住我”功能。一切正常,除了我无法对 cookie 进行功能测试,因为比较 cookies['remember_id']给我加密的 cookie,然后 cookies.signed没有定义。

有什么线索吗?

最佳答案

问题(至少在表面上)是在功能测试 (ActionController::TestCase) 的上下文中,“cookies”对象是一个 Hash,而当您使用 Controller 时,它是一个 ActionDispatch::Cookies:: CookieJar 对象。所以我们需要把它转换成一个 CookieJar 对象,这样我们就可以在它上面使用“signed”方法将它转换成一个 SignedCookieJar。

您可以将以下内容放入您的功能测试中(在 get 请求之后)以将 cookie 从 Hash 转换为 CookieJar 对象

@request.cookies.merge!(cookies)
cookies = ActionDispatch::Cookies::CookieJar.build(@request)

关于ruby-on-rails - 在 rails 中测试签名的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com