handlebars テンプレートで linkTo ヘルパーを使用する場合、Ember はルートに追加したシリアライザーを使用してリンクの正しい URL を設定します。
serialize: function(slug, params) {
var name, object;
object = {};
name = params[0];
object[name] = slug;
return object;
}
リンクをクリックすると、Ember は正しいスラッグなどを含む正しいページに遷移しますが、正しいデータがなく、そのように表示されます。これは、linkTo ステートメントに 2 番目のパラメーターとして渡すのは、モデル全体ではなく単なるスラッグであるためだと思います。
linkTo ステートメントに渡されたモデル (そうではない) に依存するのではなく、アドレスバーに URL を入力した場合と同じように、Ember にデータを取得させることは可能ですか?
更新 ルートのアクティブ化メソッド内でこれを試しましたが、これが完了するまでレンダリングを待たなければならないことが問題のようです。
activate: function() {
this.context.isLoaded = false;
this.model(this.context.query.slug);
}
何か案は?たぶん、よりきれいなソリューションでも?