ruby-on-rails 如何查看我的环境变量?

oyt4ldly  于 2023-06-25  发布在  Ruby
关注(0)|答案(6)|浏览(178)

我正在尝试连接到我的推送服务器,但收到错误:
缺少客户端配置:请检查key,secret和app_id是否已配置。
我想检查我的环境变量,但在Stack Overflow上还找不到任何明确的方法来做到这一点。

smdnsysy

smdnsysy1#

从Shell打印环境

正如其他答案所指出的那样,可以在命令行中使用/usr/bin/env/usr/bin/printenv来查看Rails启动前shell中的环境,或启动后子shell中的环境。例如:

  1. rails s返回
  2. CTRL-Z
  3. env返回
  4. fg返回

从视图层显示ENV

在Ruby中,ENV是环境变量的“类似散列”的访问器;它实际上不是一个Hash。您可以通过输入ENVENV['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而不使用链接;只是眼睛更难受

zpjtge22

zpjtge222#

在rails控制台中使用命令ENV。这将返回您可以访问的环境值的散列。或者,您可以使用相同的命令从应用程序根路径访问环境变量,这些变量将被格式化返回。

c6ubokkw

c6ubokkw3#

或者使用O/S shell,在Ubuntu中使用

printenv
rqdpfwrv

rqdpfwrv4#

这两个命令都将打印到stdout环境变量:

env
printenv

wxclj1h5

wxclj1h55#

我还在视图层中使用了以下内容:

<% request.env.each do |key, value| %>
  <strong><%= key %></strong> => <%= value %><br/>
<% end %>

我发现它对调试由在passenger/nginx级别设置的env变量引起的问题非常有帮助,当我使用rails控制台时,这些问题不会出现。

inkz8wg9

inkz8wg96#

如果你想访问credentials.yml文件中的变量,这是一个非常好的方法:

Rails.application.credentials

相关问题