【发布时间】:2020-04-20 10:44:18
【问题描述】:
我正在尝试将 Google Analytics 标记添加到运行 Ruby on Rails 的 Web 应用程序中。
我想将相同的代码部署到多个环境(开发、暂存、生产),并通过每个实例中的环境变量配置不同的 Google Analytics(分析)跟踪 ID。我的每个环境都设置在不同的域上,因此我在 Google Analytics 中设置了单独的属性,并在服务器上设置了一个新的环境变量 (GOOGLE_ANALYTICS_TRACKING_ID)。
我想使用部分 Haml 文件来保存 Google Analytics 标记并使用环境变量。我在“Cant get google analytics working on rails project”中找到了一个例子,但是不知道如何传入环境变量。
app/views/stubs/_ga.haml:
:javascript
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', GOOGLE_ANALYTICS_TRACKING_ID_ENV_VAR, 'auto');
ga('send', 'pageview');
app/views/layouts/base.html.haml:
%html
%head
= stylesheet_link_tag 'application', media: 'all'
= javascript_include_tag 'application'
= render 'stubs/ga'
%body
= yield
请注意,我将GOOGLE_ANALYTICS_TRACKING_ID_ENV_VAR 包含为占位符。我尝试了一些表示,但我无法让跟踪代码正常工作。 Google Tag Assistant Chrome 扩展报告在页面上未找到任何标签,并且我在浏览器控制台中看到语法错误。
构建部分代码和渲染调用以确保 Google Analytics(分析)跟踪代码对于每个环境都是动态的并引入环境变量的最佳方式是什么?
【问题讨论】:
-
欢迎来到 SO! “我在浏览器控制台中看到语法错误。”而且,那些会是?请查看“How to Ask”、“Stack Overflow question checklist”和“MCVE”及其所有链接页面。
标签: ruby google-analytics haml partials