0

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.coffeevの名前が異なるため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();

どうすれば軌道に戻ることができるかについてのアイデアはありますか?

4

1 に答える 1

0

コードを再入力したところ、現在はそのまま機能しています。これは、コーヒー スクリプトのインデントと関係があるはずです。

于 2012-04-09T00:42:47.497 に答える