[英]How do I view my environment variables?
我正在尝试连接到我的推送服务器但收到错误:
缺少客户端配置:请检查是否已配置密钥,密码和app_id。
我想检查我的环境变量,但在Stack Overflow上找不到任何明确的方法。
正如其他答案所指出的,可以从命令行使用/usr/bin/env
或/usr/bin/printenv
来查看在启动Rails之前shell中的环境,或者在启动它之后的子shell中。 例如:
rails s
RETURN env
RETURN fg
返回 在Ruby中, ENV是环境变量的“类哈希”访问器; 它实际上不是一个Hash。 只需键入ENV
或ENV['foo']
就可以轻松地从Rails控制台中反省ENV,但有时您可能希望看到Rails在渲染过程中认为环境是什么。 在这种情况下,您需要Rails调试助手 。 例如:
# ERB
<%= debug ENV.to_h.to_yaml %>
# HAML
= debug ENV.to_h.to_yaml
调用#to_yaml来序列化ENV对象将使输出更容易读取,但需要首先将ENV转换为散列或数组。 你也可以不用链接调用debug ENV
; 它只是在眼睛上更难。
或者在Ubuntu中使用O / S shell
printenv
在rails控制台中使用命令ENV
。 这将返回您可以访问的环境值的哈希值。 或者,您可以使用相同的命令从应用程序根路径访问环境变量,并且将返回格式化的变量。
env
printenv
我还在视图层中使用了以下内容:
<% request.env.each do |key, value| %>
<strong><%= key %></strong> => <%= value %><br/>
<% end %>
我发现调试由乘客/ nginx级别设置的env变量引起的问题非常有帮助,当我使用rails console时不会显示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.