Rails ActionView::Template::Error(google_analytics.js 未预编译)
Posted
技术标签:
【中文标题】Rails ActionView::Template::Error(google_analytics.js 未预编译)【英文标题】:Rails ActionView::Template::Error (google_analytics.js isn't precompiled) 【发布时间】:2013-05-07 13:42:03 【问题描述】:我决定在我的模板中使用javascript_inlcude_tag 'google_analytics.js'
,避免使用许多可以为我完成它的宝石,转而支持测试新的 Google Analytics“通用”功能。
问题是 Google Analytics 提供的代码不在 Coffeescript 中,因此我将其添加到我的 vendor/assets/javascripts
中,就像我在我的应用程序中使用的许多其他库一样。但与其他所有方法不同的是,javascript_include_tag
方法会导致 Rails 因错误而停止:
Rails ActionView::Template::Error (google_analytics.js isn't precompiled)
在我的许多 Coofeescripts 中,其他供应商库只是“必需的”。
有人知道这种当前的分析 javascript 方法有什么问题吗?
【问题讨论】:
【参考方案1】:Dan McClain 在this (related) post 中同样建议,通过在config/environments/production.rb
中添加以下行解决了该问题:
config.assets.precompile += %w( google_analytics.js )
完成!
【讨论】:
【参考方案2】:之前的评论:
Google Analytics 提供的代码不在 Coffeescript 中,因此我将其添加到我的
vendor...
Coffeescript 中的 js 不必通过 application.js 中的直接 //= require google_analytics
包含在您的资产管道中,作为文件 .js.coffee 的扩展名或只是 .js。
这么说并假设您在生产环境中遇到该错误,似乎您没有将 js 文件添加到资产预编译数组中。在您的 config/environments/production.rb 中需要以下行:
config.assets.precompile += %w( google_analytics.js )
希望有帮助
【讨论】:
以上是关于Rails ActionView::Template::Error(google_analytics.js 未预编译)的主要内容,如果未能解决你的问题,请参考以下文章
markdown [rails:devise] Ruby on Rails的身份验证gem。 #ruby #rails
Rails:如何在 Rails 中为 Devise 设置密钥?