gpt4 book ai didi

ruby-on-rails - 跨同一用户的请求存储状态

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:24 25 4
gpt4 key购买 nike

我知道状态可以存储在 cookie 和 session[] 散列中。

Which of the following can be used to store state ACROSS requests from the same user? Select all that apply.

  1. Cookies
  2. The session[] hash
  3. Instance variables set by a controller method
  4. Class variables set by a controller method

这个测验问题的答案是 (1) 和 (2)。我的问题是:为什么不能 (3) 和/或 (4) 跨同一用户的请求存储状态?

最佳答案

(3) 无法跨请求存储状态。每次请求进入您的 Rails 应用程序时,都会创建一个 Controller 实例,并在其上调用适当的操作方法。一旦请求被处理, Controller 实例就会被丢弃,并为下一个请求创建一个新的实例。

(4) 在技术上可以跨请求存储状态,但无论哪个用户发出请求,数据都将在 Controller 的所有实例之间共享。它也不能从其他 Controller 访问,如果服务器重新启动就会丢失,如果您的 Rails 应用程序的多个实例同时运行(在生产场景中很常见),类变量的内容将不会在它们之间共享。

详细说明为什么这种事情是个坏主意:https://stackoverflow.com/a/1029798/742690

关于ruby-on-rails - 跨同一用户的请求存储状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com