How do I view my environment variables?
Printing the Environment from the Shell
As other answers have pointed out, one can use /usr/bin/env
or /usr/bin/printenv
from the command line to see what the environment is in the shell before starting Rails, or in a subshell after starting it. For example:
rails s
RETURN- CTRL-Z
env
RETURNfg
RETURN
Displaying ENV from the View Layer
In Ruby, ENV is a "hash-like" accessor for environment variables; it is not actually a Hash. You can introspect ENV from your Rails console easily enough simply by typing ENV
or ENV['foo']
, but sometimes you may want to see what Rails thinks the environment is during rendering. In that case, you want the Rails debug helper. For example:
# ERB<%= debug ENV.to_h.to_yaml %># HAML= debug ENV.to_h.to_yaml
Calling #to_yaml to serialize the ENV object will make the output easier to read, but requires you to convert ENV to a hash or array first. You can also just invoke debug ENV
without chaining; it's just harder on the eyes.
Use command ENV
in rails console. That will return a hash of your environmental values you can access. Alternatively, you can access your environmental variables from your apps root path using the same command and the variables will be returned formatted.