これが別の場所に投稿されている場合は申し訳ありませんが、この問題を検索する方法さえ正確にはわかりません。
基本的に、私は にfullcalendar.js
座っていapp/assets/javascripts/
ます。私のapplication.js
ファイル内(もちろん同じフォルダー内)には、次のものがあります...
//= require jquery
//= require jquery_ujs
//= require foundation
//= require_tree .
したがって、予想どおり、fullcalender.js
はアセットのコンパイル プロセスで一掃されapplication.js
、ユーザーに提供される になります。
fullcalendar.js
で定義された(したがってapplication.js
、アセットのコンパイル後にで定義された) 関数を参照しようとすると問題が発生TypeError: $(...).fullCalendar is not a function
し、firebug の js コンソールにエラーが表示され、もちろん完全なカレンダーはレンダリングされません。
<%= javascript_include_tag "fullcalendar.js" %>
ただし、他のすべてのスクリプトとスタイルシートが取り込まれた後でレイアウト ファイルに含めると、期待どおりに機能します。
困惑して、各ファイルの js を調べて比較しましたが、違いがわかりません。私が気付いていないアセット パイプラインで何かが起こっているのでしょうか、それとも DOM の問題でしょうか? 現時点ではわかりません。
参考までに、サイトのページ ソースにリンクされているapplication.js
との両方のコンテンツを次に示します。fullcalendar.js
すべてを含めると要点やペーストビンには大きすぎるため、それぞれの関連する完全なカレンダー部分のみを含めました。
私を困惑させているのは、両方のソースが同じファイルから来ており、一方は直接リンクされているだけで、もう一方はアセット パイプライン プロセスを介して流れていることです。
application.js
- http://pastebin.com/byyNErB8
fullcalendar.js
- http://pastebin.com/k4p29YmP
洞察や助けをいただければ幸いです。