1

ジェムを使用して、Web サイトにイベント カレンダーを実装しています。event_calendar gemです。

クロムで次のエラーが発生します。

Uncaught TypeError: Object function Event() { [native code] } has no method 'observe'

event_calendar.js の 6 行目で生成されます。

Event.observe(window, "load", function() {

何が間違っているかについてのアイデアはありますか?


私は Event というモデルを持っているので、何らかの形で JS に干渉している可能性があると思われますが、コードのどこにもそれを見つけることができません。

私が奇妙だと思うのは、イベントカレンダーがイベントとすべてで機能することです。これは重複の問題でしょうか?繰り返しますが、私はこれの兆候を見つけることができません。

4

1 に答える 1

2

申し訳ありませんが、少し遅れる可能性があります。同じ問題に遭遇したばかりで、このエラーを修正することができました。

event_calendar gem は、さまざまな Javascript ライブラリに対していくつかの異なる実装を実装しています。デフォルトでは、実行時に

rails generate event_calendar

Railsアプリが使用している可能性が最も高いjqueryの実装を生成しません。

Event.observe パターンは、prototype.js 関数です。Rails アプリが event_calendar gem の前に最初にprototype.js を含めない限り、それは壊れます。

問題を解決するには、jquery をデフォルトの JavaScript ライブラリとして使用している場合、以下を実行できます。

1. rails generate event_calendar --use-jquery

2. then replace the app/assets/javascripts/event_calendar.js with the generated public/javascripts/event_calendar.js.

それが役に立てば幸い。

于 2013-02-04T15:55:26.180 に答える