Rails モデル用のコンパニオン スクリプト ファイルが 1 つあります。このファイルは、jQuery/Bootstrap UI コードなどのために、12 を超えるクラスの階層に分割したコードを使用し、さまざまな種類のダイアログ間の類似点を抽出します。articles.js.coffee
ここで「メインページスクリプト」として作業しているとしましょう。
Coffeescript クラスを定義し、名前window.ourproject.OurUIDialog
をapp/assets/javascripts/OurUIDialog.js.coffee
. Rails サーバーを再起動すると、そのクラスをサブクラス化できます (例: window.ourproject.PostInfoDialog extends window.ourproject.OurUIDialog
. PostInfoDialog
がarticles.js.coffee
(のインスタンス化が存在する場所) にある限りPostInfoDialog
、すべて問題ありません。
しかし、サブクラス ( PostInfoDialog
) を別のファイル (たとえば )に移動するPostInfoDialog.js.coffee
と、メインの記事スクリプト内でそれを使って何かをしようとすると
Uncaught TypeError: Cannot read property 'prototype' of undefined
また:
- これは、Rails モデルのコンパニオン スクリプト ファイル (ここでは と呼ばれます) を中心に展開します
articles.js.coffee
。 window.ourproject.OurUIDialog
独自のファイルまたはarticles.js.coffee
window.ourproject.PostInfoDialog
(これは を拡張します) は、生成された HTML を表示すると、他のすべてのスクリプト ファイルに含まれていることが示されますが、別のファイルにないOurUIDialog
場合にのみ使用できます。PostInfoDialog
私はこれを理解しようとして髪を引き裂いていますが、そもそもあまり残っていませんでした. 何か案は?