Ryan BatesRailsCastBackbone.jsチュートリアルをフォローしています。この画像は彼のチュートリアルのスクリーンショットです。
ビュー/エントリ/ディレクトリに「entries_index.js.coffee」というファイルがあることに注意してください。
スキャフォールディングを生成したとき、そのファイルは単に呼び出されましたindex.js.coffee
Ryanはルーターのビューを。でインスタンス化するため、これは重要な場合がありますEntriesIndex
。
index: ->
new Raffler.Views.EntriesIndex()
$('#container').html(view.render().el)
次に、entries_index.js.coffeeファイルでテンプレートをレンダリングします
render: ->
$(@el).html(@template())
this
これは、デモンストレーションのために、これをコンテナdivに入れることになっています
<h1>Raffler</h1>
ただし、同じことをすると、Firebugでこのエラーが発生します
view is not defined
[Break On This Error]
return $('#container').html(view.render().el);
ファイルentries_index.js.coffee
vの名前が異なるためindex.js.coffee
、ライアンがこの方法でビューをインスタンス化することは重要かどうか疑問に思いました(つまり、アンダースコアの代わりにキャメルケースを使用します)。
new Raffler.Views.EntriesIndex()
変えてみたら
new Raffler.Views.Index()
エラーが発生します
Raffler.Views.Index is not a constructor
[Break On This Error]
new Raffler.Views.Index();
どうすれば軌道に戻ることができるかについてのアイデアはありますか?