Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby on Rails应用程序必须使用cookie吗?_Ruby On Rails - Fatal编程技术网

Ruby on rails Ruby on Rails应用程序必须使用cookie吗?

Ruby on rails Ruby on Rails应用程序必须使用cookie吗?,ruby-on-rails,Ruby On Rails,Rails依赖cookie是真的吗?看来闪光灯是其中的一部分 会话的,并且会话使用cookies。。。所以当我在中禁用cookie时 Firefox,一款正在运行的Rails应用程序 [错误] ActionController::InvalidAuthenticationToken 那么,对于RoR应用程序来说,cookies是必须的,这是真的吗 更新:或者,要使Rails应用程序再次工作,最简单的方法是什么?(如果只有一台服务器(Apache运行mod_rails),那么会更容易吗?它们不是强

Rails依赖cookie是真的吗?看来闪光灯是其中的一部分 会话的,并且会话使用cookies。。。所以当我在中禁用cookie时 Firefox,一款正在运行的Rails应用程序

[错误] ActionController::InvalidAuthenticationToken

那么,对于RoR应用程序来说,cookies是必须的,这是真的吗


更新:或者,要使Rails应用程序再次工作,最简单的方法是什么?(如果只有一台服务器(Apache运行mod_rails),那么会更容易吗?

它们不是强制性的,但有些事情没有cookie是无法做到的。您可以如上所述关闭真实性令牌。

使用cookies不是强制性的,但它是rails在2.x以上的默认值。使用Cookie可以简单地解决在多台服务器上尝试将Cookie存储在内存中时出现的一些更困难的问题(并且会遇到诸如粘滞会话、丢失用户数据等问题)

您可以设置rails存储会话数据的位置;那就是flash和任何与特定用户相关的东西。在environment.rb中,您可以使用config.action\u controller.session\u存储配置会话的存储位置。此操作的选项有:cookie\u存储、:active\u record\u存储、:p\u存储、:drb\u存储、:mem\u cache\u存储或:memory\u存储

如果您注释掉该选项或将其从environemnt.rb中删除,则cookie_store是默认值。它也是最通用的。如果您有多个服务器,则一个用户的一个请求可能会进入一个服务器,而下一个请求可能会进入另一个服务器。在这种情况下,您不能使用内存存储,因为第二台服务器对当前用户一无所知


通过将会话信息存储在加密的cookie中,服务器上存储此信息的负载会减少。唯一的缺点是,服务器的每个请求都需要传递cookie(通常是在您的经验中无法做到的事情?因为我现在正在实现一个无cookie Rails应用程序,而我无法让flash正常工作,请参阅: