我意识到when thinking about the user, password, and site variables in ActiveResource::Base,他们可以在一个请求上修改,并在下一个请求时保持修改。这似乎是不受欢迎的行为,可能是一个普遍存在的问题,因为它适用于所有类变量/属性的使用。
Rails是否提供了清除类级状态更改的机制(例如,重置为默认值),以便每个请求都以原始状态启动?
如果没有,是否可以添加初始化类变量的方法,这些方法将在每个请求开始时重新应用?这可以与线程安全存储相结合,使类变量的问题更少。可能修改class_attribute?
更新
正如我在the linked question above中所描述的那样,引起我注意的具体案例是我在每个用户的基础上设置了ActiveResource :: Base.user和密码。如果我没有重置它们,那就意味着代表一个用户的REST请求将在后续页面加载时使用另一个用户的凭据。
答案 0 :(得分:0)
出于好奇,你能举一个具体的例子说明你为什么要这样做吗?从表面上看,听起来好像你要求更改变量,所以Rails正在做你要求的事情。
就答案而言,有几个选择: