【问题标题】:Rails credentials works only by bruteforce, but not with a digRails 凭据仅适用于暴力破解,但不适用于 dig
【发布时间】:2021-02-15 19:13:00
【问题描述】:

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

我想将 Google-Analytics 指标添加到我的小型项目应用中。我添加了 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) %>

Google Analytics 不会更新数据。谁能告诉我为什么以及如何正确设置它?

我在本地运行它们,当我对我的 UA 进行硬核时它可以工作,当我挖掘凭据时它不会。

我也尝试过以这种方式打印我的凭据:

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

并且我得到了空的哈希值,我猜它不应该这样工作。

【问题讨论】:

  • 欢迎来到 SO!请在您的问题中的文本中包含输出和代码的 sn-ps,而不是图像。这让人们很难帮助你,也让有类似问题的人很难找到你的问题。
  • 不更新数据但ID是否存在?
  • 您的凭据行没有问题。别的东西坏了。您是否将其正确保存到您的凭据中?您是否正确安装了master.key?您是否正确配置了 Google Analytics?
  • 我已经更新了我的帖子,希望现在更好,对不起图片! HubertJakubiak 抱歉,Hubert,我不懂一个问题,我是个新手,Rspec 的好指南! @Jon 对我来说有点难说,因为我是新手,要添加我在终端中运行的凭据:EDITOR="subl --wait" bin/rails credentials:edit 然后这样说:google_analytics: google_analytics: UA-18929....-2 并保存,关闭文件。我在我的项目中添加了 master.key 并在 GitHub 上忽略了,我需要以其他方式配置它吗?谷歌分析适用于硬编码但不是凭据
  • 你有 config/credentials.yml.enc 和 config/credentials 目录吗?如果是这样,您的凭据目录中的环境特定文件将完全覆盖您使用您在帖子中指定的终端命令写入 config/credentials.yml.enc 的任何内容。

标签: ruby-on-rails heroku google-analytics credentials ruby-on-rails-6


【解决方案1】:

我实际上已经成功了,这是一个非常基本的错误,首先我决定跳过挖掘并以这种方式访问​​凭据:

Rails.application.credentials.google_analytics

在我将我的分析移动到 src 文件夹之后,我实际上是在 JS 文件中使用 Rails 凭据作为 ERB...我决定跳过这个阶段并将我的脚本移回布局头。现在可以使用了!

【讨论】:

    猜你喜欢
    • 2013-02-26
    • 2016-10-10
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2015-06-19
    • 2016-06-18
    相关资源
    最近更新 更多