【问题标题】:Accessing ENV variables in Rails-AngularJS (1.5) application在 Rails-AngularJS (1.5) 应用程序中访问 ENV 变量
【发布时间】:2017-03-21 07:22:11
【问题描述】:

在使用 Rails-AngularJS (1.5) 应用程序时,我无法在 JavaScript(服务、控制台等)中访问我的 ENV 变量。

我正在使用 dotenv,将我的 SECRET_KEY 放在一个 .env 文件中,并将以下内容添加到我的应用程序 layout.html.erb 中的正文标记的底部:

<script type="text/javascript"> var SECRET_KEY = "<% ENV['SECRET_KEY'].html_safe %>"; </script>

非常感谢您的任何指导!

【问题讨论】:

    标签: javascript ruby-on-rails angularjs environment-variables


    【解决方案1】:

    我建议你这样做:

    <%= content_tag "div", id: "secret_key", data: { key: ENV['SECRET_KEY'] } do %>
    <% end %>
    

    将此添加到您的 layout.html.erb,以便您可以使用以下方式从 JS 访问数据:

    var secret_key = document.getElementById("secret_key").dataset.key
    

    【讨论】:

    • 谢谢,巴勃罗。如果没有 jQuery,最后一点应该是: var secret_key = document.getElementById("secret_key").dataset.key;有没有办法隐藏在 html 控制台中看到的 secret_key 元素?即使使用“display:none”和“visibility:hidden”也可以读取。
    • 所有前端内容都可以从浏览器控制台访问。我建议您创建与用户相关的密钥,因此如果用户访问此数据,这不是问题,因为它只允许他/她读取或写入他/她自己拥有的内容
    猜你喜欢
    • 1970-01-01
    • 2016-06-12
    • 2016-09-22
    • 2020-07-02
    • 2021-09-08
    • 2016-04-15
    • 2017-09-24
    • 2019-01-29
    • 1970-01-01
    相关资源
    最近更新 更多