Rails凭据只能通过暴力破解工作,而不能使用挖掘



我遇到了一个我无法理解的问题。有人能帮帮我吗?

我想添加谷歌分析指标到我的小项目应用程序。我已经添加了gtag脚本,rails加密凭据和设置在Heroku。

当我像这样手动放置UA时,它会工作并跟踪:

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-18929....-2"></script>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>

然后当我在终端运行时:

EDITOR="subl --wait" bin/rails credentials:edit

我已经这样添加了凭据:

google_analytics:
google_analytics: UA-18929....-2

当我在终端中运行dig命令以查看rails控制台中的凭据时,它工作了:

Rails.application.credentials.dig(:google_analytics, :google_analytics)

但是当我替换

=UA-18929....-2" 

<%= Rails.application.credentials.dig(:google_analytics, :google_analytics) %>

谷歌分析不更新数据。有人能告诉我为什么以及如何正确设置吗?

我在本地运行它们,当我硬核我的UA时它工作,当我挖掘凭证时它不工作。

我也试过这样打印我的凭据:

<%= Rails.application.credentials.as_json %>

我得到空哈希返回,我想它不应该这样工作。

我实际上已经使它工作了,这是一个非常基本的错误,首先我决定跳过挖掘和访问凭据的方式:

Rails.application.credentials.google_analytics

我实际上是使用Rails凭据ERB在JS文件后,我移动我的分析到src文件夹…我决定跳过这个阶段,把我的脚本移回布局头部。现在工作!

最新更新