我有一个已经在代码中设置的cookie。我只想向其中添加一个标志{httponly: true}
。我尝试使用merge
方法,但收到错误消息说合并不能应用于字符串。然后,我尝试使用此cookies[:riko_added_http_only] << '; HttpOnly'
,但在浏览器cookie中看到该cookie不是仅HTTP的。
所以问题是在已经为其分配了一些值之后如何添加/修改cookie属性或标记(如httponly
或secure
)?
这里有一些例子:
cookies[:riko_added_http_only] = {
value: 'rikob',
}
........ Some code here ....................
cookies[:riko_added_http_only] << '; HttpOnly'
编辑:
让我添加更多信息和测试示例:
通过此代码:
cookies[:secure_true_http_true] = {
value: 'httpOnly, not Secure',
httponly: true,
secure: true
}
cookies[:secure_true_http_false] = {
value: 'Secure NOT HttpOnly',
httponly: false,
secure: true
}
cookies[:secure_false_http_true] = {
value: 'Secure and http only',
httponly: true,
secure: false
}
cookies[:riko_added_http_only] = {
value: 'rikob',
}
cookies[:riko_added_http_only] = {
value: "#{cookies[:riko_added_http_only]}; HttpOnly"
}
答案 0 :(得分:0)
您可以通过以下方式更新cookie值:
cookies[:riko_added_http_only]= {
value: "#{cookies[:riko_added_http_only]} ; HttpOnly"
}