2010-07-09 66 views
1

尝试写入/读取名称中包含方括号的cookie时,Rails似乎无法处理此问题。例如:在cookie名称中使用括号(Rails)

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

这会导致cookie名称为“example%5B%5D”而不是“example []”。同样,如果我已经有一个cookie的名称设置为“例如[]”,然后好像Rails是无法通过调用cookies.delete "example[]"正确删除它,因为[]字符进行编码。

任何人都知道如何解决这个问题?

+0

简单的解决方案......不要在cookie的名称中使用括号。 – Fosco 2010-07-09 19:14:43

+0

字符串转义工作?例如。 “example \\ [\\]”? – Karl 2010-07-09 22:10:51

+0

@Karl - 遗憾的是没有。 :( – 2010-08-17 16:49:43

回答

0

貌似这只能通过hacking the Rails core来完成。糟糕的是Rails开发人员以这种方式实施它。

0

rfc没有指定什么都可以在一个cookie的名字。它所说的名称必须是文本。我猜rails是编码文本,因此括号变成了%5B%5D。我认为最好避免Cookies中的这些字符。

相关问题