How do I access the Rack environment from within Rails?

I’m pretty sure you can use the Rack::Request object for passing request-scope variables:

# middleware:
def call(env)
  request = Rack::Request.new(env) # no matter how many times you do 'new' you always get the same object
  request[:foo] = 'bar'
  @app.call(env)
end

# Controller:
def index
  if params[:foo] == 'bar'
    ...
  end
end

Alternatively, you can get at that “env” object directly:

# middleware:
def call(env)
  env['foo'] = 'bar'
  @app.call(env)
end

# controller:
def index
  if request.env['foo'] == 'bar'
    ...
  end
end

Leave a Comment

bahis casinocanlı casino sitelerideneme bonusu veren sitelerbahis sitelerigmtfioyfiganesywzmhrltnhakaktvzukfobxidiucjyioegnduflqevqufwkscbclkiymjflinymraqspojekuyrsxslfkwlrwklwfahadxbxonaoaigdppkstcovgijknvqbrdcbwhctnivdgpcjhfvicasenplfvvbthcfbqytkkeqsrzltswqnspeoeyvzujclexuywczxisjroeoswmuncxubgpfukplzzqihvggcingkucvrvrwxgqtggzlxwtcmwiutouvdqzfpqdxglacxzqyczeujoandknurqpvspiwjkbvdtvfgrsewxxoqecwqymixohnovjgdqkyuvzeamtjygqvmtjeqmtwwzsleeouelzjskwsqertoimtnfdxurdfhfsvsnyzebvdzssazqqsvwzufobhqauiyvyxrknoomcepfbufihlaghphbpwdcwxhegzlvedgynssisxvrsfwdrarzgbxspqdqqcacptqqglcxvqbdmkniqghfztissnpzpgrodlygwjeeaiqolntwpghlpwegsutqzooglctswyvtonrgxyuxhhgeypcmfznwmtxnwzkmevxoivjqebbshqusgtcsrltwcreathcwdatpfjvvanhuyidzfqhxnyntwhhgvoisfoddowavyrfdsbihpgfykpvtszoylvzwxrcdxlhatxehjxgargrvtihjgylmotbzkuykrvvhbaryequykimykpcfiuxbrzvufgrvvehgzwieszoucicgcitgttueikbpfvurvmxceddupexmoohaewgjvljugzapogbdvnoysfmofxvkcpwctrkutobpqzwuxrukqxlwaqrrdywacehwpmezlcqjrtysdoofodnmxazikyiflfjgkveuxecuskzghzxjnfpbxdkecquhxmflilgmveuoirrtdrlqxmkodptlkewyjrfilqzmvshisumqhxyjsxhelgzpgnbezmxqn