ruby-on-rails – Rails资产管道:将资产包含在公用文件夹而不是
我一直在努力将谷歌分析添加到我的Rails 4应用程序(见
this post).
我通过在/public/assets/google-analytics.js的新文件中添加Google提供的JavaScript代码来实现它.在application.html.erb中,我包括: <%= javascript_include_tag 'google-analytics' if Rails.env.production? %> 这有效但我没有将JavaScript文件包含在app / assets / javascripts /中,而是将其放在公共文件夹中.因此不编译JavaScript文件. 你会说这是一个很好的练习/ Rails方式吗? 我选择这个解决方案,因为否则我只能将Rails.application.config.assets.precompile = [‘google-analytics.js’]添加到config / environments / production.rb(它不能正常工作)如果我将它添加到初始化器assets.rb).我发现这比上述解决方案更混乱. 解决方法
在您的情况下,最好只将分析脚本添加到views / layouts / application.html.erb的head部分
另一种选择是使用名为_analytics.hml.erb的文件创建一个视图/共享目录,并将分析标记粘贴在那里,并在您需要的视图中执行此操作: <%= render 'shared/analytics' %> 如果你只是部分地渲染它,则根本不需要预先编译它.什么是“最佳实践”受观点影响,但如果您将其部分渲染,则需要花一些时间来配置和排除尝试执行此操作的方法. 在我看来,除非你特别需要某人能够访问www.your-site.com/analytics.js,否则部分是更“’Railsy’的方式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |