I've followed these steps和我成功地看到流量进入我的网站,问题是我可以看到每个控制器/方法的流量超出admin
命名空间内的流量,因为app/views/layouts/application.html.erb
上的脚本(如下所示)不会在任何ActiveAdmin页面上执行。 ..
<script>
(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', 'UA-XXXXXXX-XX', 'herokuapp.com');
ga('send', 'pageview');
</script>
我知道设备可以告诉我用户在我的网站上签了多少次,但我希望看到更多的统计数据....
我该怎么解决这个问题?我不想在每个ActiveAdmin的控制器/方法中为这个任务添加一个带有该代码的render partial
...是否有一个与ActiveAdmin相当的app/views/layouts/application.html.erb
?我的意思是在每个ActiveAdmin的视图中放置一个script
标记的方法?
您只需编辑app/assets/javascripts/active_admin.js
即可将自定义脚本添加到ActiveAdmin的布局中。首次设置ActiveAdmin时应该已创建此文件。
创建一个新的javascript文件来保存Google Analytics脚本,只需在active_admin.js
中包含新脚本即可。
它应该看起来像这样:
// app/assets/javascripts/google_analytics.js
// Google analytics script goes here.
// app/assets/javascripts/active_admin.js
//= require active_admin/base
//= require ./google_analytics