【发布时间】:2025-12-09 08:00:01
【问题描述】:
我意识到when thinking about the user, password, and site variables in ActiveResource::Base,它们可以在一个请求时修改,并且在下一个请求时保持修改。这似乎是不受欢迎的行为,并且可能是一个普遍的问题,因为它适用于类变量/属性的所有使用。
Rails 是否提供了一种机制来清除对类级别状态的更改(例如重置为默认值),以便每个请求都以原始状态开始?
如果没有,是否可以添加一种初始化类变量的方法,这些变量将在每个请求开始时重新应用?这可以与线程安全存储结合使用,从而减少类变量的问题。 class_attribute的可能修改?
更新:
正如我在the linked question above 中描述的那样,引起我注意的具体情况是,我正在为每个用户设置 ActiveResource::Base.user 和密码。如果我未能重置它们,这意味着代表一个用户的 REST 请求将在后续页面加载时使用另一个用户的凭据进行。
【问题讨论】:
标签: ruby-on-rails initialization lifecycle class-variables