我有一个 Rails 3.1 应用程序,其资产设置为在生产中预编译(在本例中为 Heroku)。这包括 jQuery、jQueryUI 和 Mapstraction。然而,运行heroku logs
显示 Mapstraction,一个映射 JS 库,可能没有成功预编译:
2012-10-25T05:13:11+00:00 app[web.1]: ActionView::Template::Error (mxn.js?(googlev3) isn't precompiled):
2012-10-25T05:13:11+00:00 app[web.1]: 8: <%= javascript_include_tag :application %>
2012-10-25T05:13:11+00:00 app[web.1]: 9: <%= csrf_meta_tag %>
2012-10-25T05:13:11+00:00 app[web.1]: 11: <%= javascript_include_tag "mxn.js?(googlev3)" %>
2012-10-25T05:13:11+00:00 app[web.1]: 12: <script type="text/javascript">
2012-10-25T05:13:11+00:00 app[web.1]: 10: <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
我怀疑由于 Mapstraction (mxn.js) 是使用地理数据服务提供者名称作为 Rails 可能无法处理的参数构建的。不过,它在开发环境中本地工作,无需预编译。关于为什么在这种情况下预编译会失败的任何想法?