繁体   English   中英

在控制器中添加/修改request.env

[英]Add to / modify request.env in a controller

如何在控制器中修改request.env? 我想做这样的事情:

request.env["newkey"] = content

然后在下一个控制器中,我从设置环境的控制器中将redirect_to重定向到,我想使用request.env [“ newkey”]访问内容。

那么我将如何修改request.env?

request.env["newkey"] = content确实可以将新密钥添加到request.env对象中。

但是,这对您要完成的工作没有帮助,因为在重定向时,它是一个新请求,并且将重新创建request.env对象。 在上一个请求中设置的新newkey将丢失。

您需要使用的是Rails Flash。

Flash提供了一种在动作之间传递临时原始类型(字符串,数组,哈希)的方法。 您放置在闪光灯中的任何东西都将暴露于下一个动作,然后清除。

在第一种方法中设置值,如下所示:

def <first_method>
  ...
  flash[:newkey] = params[:number]
  redirect_to ...
end

然后可以按以下方式在redirected_to方法中对其进行访问:

 def <redirected_to_method>
   ...
   new_key_val = flash[:newkey]
   ...
 end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM