如果这已在其他地方发布,我深表歉意,但我不完全确定如何搜索这个问题。
基本上,我已经fullcalendar.js
坐在了app/assets/javascripts/
。在我application.js
的文件中(当然在同一个文件夹中)我有以下内容......
//= require jquery
//= require jquery_ujs
//= require foundation
//= require_tree .
因此,正如预期的那样,fullcalender.js
在资产编译过程中被清扫并最终application.js
提供给用户。
当我尝试引用在中定义的函数fullcalendar.js
(并因此在application.js
编译资产后定义)时,问题就出现了,它会在 firebug 的 js 控制台中抛出一个错误声明TypeError: $(...).fullCalendar is not a function
,当然完整的日历不会呈现。
然而,现在,如果我<%= javascript_include_tag "fullcalendar.js" %>
在所有其他脚本和样式表都被拉入之后包含在布局文件中,它就会按预期工作。
困惑,我查看了每个文件中的 js 并比较了它们,看不出有什么区别。资产管道是否发生了我不知道的事情,或者这是一些奇怪的 DOM 问题?我只是在这一点上不知道。
作为参考,这里是网站页面源中链接的application.js
和的内容。fullcalendar.js
我只包含了每个相关的完整日历部分,因为如果我包含所有内容,它对于 gist 或 pastebin 来说太大了。
让我感到困惑的是,两个来源都来自同一个文件,一个只是直接链接,另一个流经资产管道流程。
application.js
- http://pastebin.com/byyNErB8
fullcalendar.js
- http://pastebin.com/k4p29YmP
任何见解或帮助将不胜感激。