Ruby on rails 我可以在rails应用程序中阅读但不能设置cookies

Ruby on rails 我可以在rails应用程序中阅读但不能设置cookies,ruby-on-rails,cookies,variable-assignment,Ruby On Rails,Cookies,Variable Assignment,这是最奇怪的事情。当我昨天运行Rails WEBrick调试器时,我可以做如下事情 cookies[uid] = s.session_id 其中“uid”是一个传递的参数,其中包含用户id,然后 cookies[uid] 要还给我,就说: 29b93443d9ec18168a26e1ab12957b0dd0b799ff 今天,我总是得到“零”。我可以很好地读取现有值。中列出的任何键 cookies.keys 工作很好 有人对这种行为有可能的解释吗。这非常令人恼火,谷歌搜索也没有给出答案。

这是最奇怪的事情。当我昨天运行Rails WEBrick调试器时,我可以做如下事情

cookies[uid] = s.session_id
其中“uid”是一个传递的参数,其中包含用户id,然后

cookies[uid]
要还给我,就说:

29b93443d9ec18168a26e1ab12957b0dd0b799ff
今天,我总是得到“零”。我可以很好地读取现有值。中列出的任何键

cookies.keys
工作很好


有人对这种行为有可能的解释吗。这非常令人恼火,谷歌搜索也没有给出答案。

原始提问者,这里。事实证明我能把那些饼干做好。问题是当你打字的时候

cookies[:key]
在调试器中,它似乎总是在从浏览器读取cookie时为您提供cookie的值。同时,我不知道该值存储在何处,但检查浏览器中的cookies可以确认我的更改确实存在。cookies[:key]返回赋值的值非常有用,因此您可以执行以下操作

@future_value = cookies[:key] = {
                                 :value => 'new value',
                                 :expires => @really_soon
                                }

我不知道是什么让我觉得我以前可以看到它们

此外,您需要使用字符串而不是符号来读取cookie,因为Rails在设置键时会将键转换为字符串

cookies[:key] = "value"
cookies[:key]  # => nil
cookies['key'] # => "value"