save
またはがサーバーに向かって投げられるcreate
と、サーバーは新しいランダムに作成されたオブジェクトで応答します。オブジェクトは多くの異なるクラスの 1 つになることができ、Backbone はこれらの差別化されたオブジェクトに応答し、相対ビューをロードします。
ビューがまだロードされていないため、ブートストラップでのみこのロジックを理解できるように見えるため、サーバーからランダムに受信している情報に基づいてブートストラップし、その特定のルートに移動できます。
ただし、オブジェクトを保存して戻りデータを受け取るときにこれを行う方法を理解しようとすることに固執しています。
これが私のコードを分解したものです。
情報が保存されます。
@model.save(@model.toJSON(),
私はこの保存を待っているリスナーを持っています:
constructor: (options) ->
super(options)
@model.bind 'change:verb', _.chooser, options
_.maestra_chooser は、ユーティリティ ベルトにある mixin です。
_.mixin
_chooser : (item) =>
console.log item
ここで注意すべきことがあります。item
残念ながら、変数は@model
保存されたばかりのものです。新しいデータはありません。
私が望んでitem
いるのは、サーバーからの新しい変数データであり、そのデータを取得して、それがどのような種類のデータであるかを確認し、関連するビューにルーティングできます。
これは、私が建築的に不健全なアイデアを作っていると私が信じているところです。しかし、説明するのに十分な理由がわかりません。
サーバーからの戻りデータにアクセスし、アプリをそのそれぞれのルートに適切にナビゲートできる場所を知っている人はいますか?
追加情報
これは私が適切にブートストラップする方法です:
window.router = new Project.Routers.QuestionsRouter(
{
words: #{ @words.to_json.html_safe }
});
Backbone.history.start();
router.navigate("#{@words.kind_of?(Array) ? "bar" : "foo"}", {trigger: true, replace: true})