在cookie名称中使用括号(Rails)

当尝试编写/读取名称中包含括号的cookie时,似乎Rails无法处理此问题。 例如:

cookies["example[]"] = "value" 

这导致cookie名称为“example%5B%5D”而不是“example []”。 类似地,如果我已经设置了名为“example []”的cookie,那么看起来Rails无法通过调用cookies.delete "example[]"来正确删除它,因为[]字符正在被编码。

有人知道怎么修这个东西吗?

Th rfc没有指定cookie的名称中的所有内容。 它只是说该名称需要是文本。 我猜rails正在对文本进行编码,因此括号变为%5B%5D。 我认为最好避免使用Cookies中的这些字符。

看起来这只能通过黑客攻击Rails核心来完成。 很糟糕,Rails开发人员以这种方式实现了它。