我正在尝试连接到我的推送服务器但收到错误:
缺少客户端配置:请检查是否已配置密钥,密码和app_id。
我想查看我的环境变量,但在Stack Overflow上找不到任何明确的方法。
答案 0 :(得分:20)
正如其他答案所指出的那样,可以在命令行中使用/usr/bin/env
或/usr/bin/printenv
来查看在启动Rails之前shell中的环境,或者在启动它之后的子shell中。例如:
rails s
RETURN env
RETURN fg
RETURN 在Ruby中,ENV是一个"类似哈希的"环境变量的访问者;它实际上是而不是哈希。只需键入ENV
或ENV['foo']
,您就可以轻松地从Rails控制台中反省出ENV,但有时您可能希望看到Rails在渲染过程中认为环境是什么。在这种情况下,您需要Rails debug helper。例如:
# ERB
<%= debug ENV.to_h.to_yaml %>
# HAML
= debug ENV.to_h.to_yaml
调用#to_yaml来序列化ENV对象将使输出更容易阅读,但需要先将ENV转换为哈希或数组。您也可以在不链接的情况下调用debug ENV
;它的眼睛就更难了。
答案 1 :(得分:8)
在rails控制台中使用命令ENV
。这将返回您可以访问的环境值的哈希值。或者,您可以使用相同的命令从应用程序根路径访问环境变量,并且将返回格式化的变量。
答案 2 :(得分:8)
或者使用O / S shell,在Ubuntu中使用
printenv
答案 3 :(得分:1)
env
printenv
答案 4 :(得分:0)
我还在视图层中使用了以下内容:
<% request.env.each do |key, value| %>
<strong><%= key %></strong> => <%= value %><br/>
<% end %>
我发现调试由乘客/ nginx级别设置的env变量引起的问题非常有帮助,当我使用rails console时不会显示这些问题。