2017-02-28 59 views

回答

2

我通常只是把这个在ApplicationHelper像这样

module ApplicationHelper 

    def ga_script 
    tracking_id = "" 
    if Rails.env.production? 
     javascript_tag("(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', '#{tracking_id}', 'auto');") 
    end 
    end 

    def ga_track 
    javascript_tag("if(window.ga != undefined){ga('send', 'pageview');}") 
    end 

end 

然后在布局文件:

<head> 
    <%= ga_script %> 
</head> 
<body> 
... 
    <%= ga_track %> 
</body> 

它的简单,它有/无工作Turbolinks。

或者,不要试图将其复杂化,只需将GA脚本粘贴到布局正文部分的底部即可。

+0

谢谢你的回答,我正在实施它。如果我想让代码跟踪应用程序的每一页,该怎么办?我应该在application.html.erb中放置<%= ga_script%>和<%= ga_track%>吗? –

+0

叶可以将它们放在application.html.erb – Dan

+0

谢谢。那工作 –

相关问题