我正在使用 Rails 3.2.8。部署应用程序后,访问包含 javascript 的视图:
<%= javascript_include_tag "epiceditor" %>
Heroku 失败并显示此日志:
ActionView::Template::Error (/app/app/assets/javascripts/epiceditor.js.erb has already been required
我已经检查了一些可能的解决方案,例如检查任何可能触发循环依赖的引用,或者只是删除它以防它被包含在其他地方,但事实并非如此。所以,如果我包含它,我会得到这个“已包含错误”,如果我不包含,则根本不包含该文件。
我的 config/application.rg 有这个
config.assets.initialize_on_precompile = false
applications.js 有这个:
//= require jquery
//= require jquery_ujs
//= require tabs
可能需要注意标签引用的文件是“epiceditor.js.erb”,因为它有一些我需要的嵌入式 Rails 代码。
谢谢你的帮助
编辑:
我相信这是 Sprockets 中的一个错误。如果我将 Rails 更新到 3.2.9rc2,现在的错误是:ActionView::Template::Error (Asset logical path has no extension: epiceditor/.js
但当然,epiceditor 中的扩展名是 epiceditor.js.erb,我也尝试在 javascript_include_tag 中明确说明它。