Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails 4 TurboLink和谷歌分析_Javascript_Ruby On Rails_Ruby_Google Analytics - Fatal编程技术网

Javascript Rails 4 TurboLink和谷歌分析

Javascript Rails 4 TurboLink和谷歌分析,javascript,ruby-on-rails,ruby,google-analytics,Javascript,Ruby On Rails,Ruby,Google Analytics,我希望将Google Analytics添加到我的Rails 4应用程序中,并阅读了有关Turbolinks的问题 我使用了以下答案来制定解决方案: 以下代码来自我在assets>javascripts下创建的新analytics.js.coffee文件 app/assets/javascripts/analytics.js // Coffee $(document).on 'page:change', -> if window._gaq? _gaq.push ['_trackP

我希望将Google Analytics添加到我的Rails 4应用程序中,并阅读了有关Turbolinks的问题

我使用了以下答案来制定解决方案:

以下代码来自我在assets>javascripts下创建的新analytics.js.coffee文件

app/assets/javascripts/analytics.js

// Coffee
$(document).on 'page:change', ->
 if window._gaq?
  _gaq.push ['_trackPageview']
 else if window.pageTracker?
  pageTracker._trackPageview()

// Javascript
$(document).on('page:change', function() {
 if (window._gaq != null) {
  return _gaq.push(['_trackPageview']);
 } else if (window.pageTracker != null) {
  return pageTracker._trackPageview();
 }
});
视图>布局>\u footer.html.erb(我为加载代码而设置的文件)


(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“UA-837283948-1”、“myapplication.com”);
ga(‘发送’、‘页面浏览’);
然后,我将以下代码放在我的application.html.erb文件的视图>布局下

<%= render 'layouts/footer' %>

application.html.erb文件中的呈现代码导致应用程序崩溃,因此我猜我做错了什么。我已经按照指南去做了,不能让它工作


感谢您花费的时间和精力。

好吧,您做错了一件事,那就是您使用的代码来自两个版本的Google Analytics

在您的第一个代码示例中,有一行
\u gaq.push([''u trackPageview'])引用库中旧的
\u gaq
全局变量

在第二个代码示例中,有一行
ga('send','pageview')
引用库中新的
ga
全局变量

除此之外,使用Turbolinks跟踪页面浏览量之所以困难,是因为Rails正在将您的应用程序从传统的请求-响应转换而来 模型转换为单页应用程序模型

我建议您阅读上的开发者指南,了解如何正确地完成这项工作


…或者只是使用TurbLink宝石,如果你不想学习这些东西:

你是否考虑使用?@斯皮克曼不,我不知道这个解决方案。它与上面的类似吗?如果我能通过简单的代码更改使上述功能正常工作,那就太好了。期待你的想法。是的,基本上是一样的。看一看
<%= render 'layouts/footer' %>