如何在Rails中向request.env对象添加新的键值对

时间:2017-07-24 13:14:51

标签: ruby-on-rails ruby ruby-on-rails-4

在rails控制器中,正在使用两行代码。

security_data = request.env['HTTP_X_SECURITY_DATA']
security_hash = request.env['HTTP_X_SECURITY_HASH']

我想了解这些键 HTTP_X_SECURITY_DATA HTTP_X_SECURITY_HASH 的设置方式/时间/位置设置为 request.env 哈希或对象。

我已阅读this博客,但我没有了解如何添加自己的新键值。

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以通过创建中间件应用来添加或删除env中的任何键:

class AddHeaderMiddleware
  def initialize(app)
    @app = app
  end

  def call(env)
    env['YOUR_KEY_HERE'] = 'your_value'
    @status, @headers, @response = @app.call(env)
    [@status, @headers, @response]
  end
end

您可以在env方法内添加call密钥。