首页 > 解决方案 > 使用 Rails 5 和 ActiveAdmin 进行 Google 分析

问题描述

我已经执行了这些步骤,并且成功地看到了流向我的站点的流量,问题是我可以看到每个控制器/方法的流量,除了命名空间中的那些,因为(如下所示)admin的脚本在任何时候都没有执行app/views/layouts/application.html.erb活动管理页面...

<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>

我知道 Devise 能够告诉我用户登录我的网站的次数,但我想查看更多统计信息....

我怎么能解决这个问题?我不想render partial在每个 ActiveAdmin 的控制器/方法中只为这个任务加上那个代码...... app/views/layouts/application.html.erbActiveAdmin 有没有等价物?我的意思是一种script在每个 ActiveAdmin 的视图中放置标签的方法?

标签: ruby-on-railsruby-on-rails-5activeadmin

解决方案


您可以通过简单地编辑将自定义脚本添加到 ActiveAdmin 的布局中app/assets/javascripts/active_admin.js。该文件应该在您首次设置 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

推荐阅读