2

/ads/:ad_id のようなルートがあり、コントローラーから実行できます

this.transitionToRoute('ads.ad', adObj)

同様のことを行うにはどうすればよいですか?今回は読み込まれたオブジェクトの代わりに ID を渡しますか?

もちろん、最初に ID で obj をロードできることは理解していますが、Ember の力は定型文をなくすことにあります。

更新:したがって、デフォルトでは、Ember は次のようにしてモデルを URL パラメーターにシリアル化します。

mode_instance -> { model_name_id: model_instance.id }

私のささいな試みはやっていた

this.transitionToRoute('ads.ad', { id: adObjId })

しかし、モデル オブジェクトが渡されると、Ember はそれを再取得しません。

質問: 広告 ID に依存するルート (単一の広告ビュー) があります。このIDを番号として持っています。単にURLを入力した場合のように、このルートに遷移したい/ads/ID

4

3 に答える 3

8

これは、URL を transitionTo に渡すことで実現できます。例えば、

this.transitionToRoute('/ads/' + adObjId)

model() メソッドは、URL からのパラメーターを使用して呼び出されます。

于 2014-02-19T21:23:57.777 に答える
7

この使用例を次に示します。

リスト ビューから詳細ビューへの移行。リスト ビューでは、レコードに関連付けられた関係はありませんが、詳細ビューではリレーショナル データをサイドロードする必要があります。このため、モデルはリスト ビューと詳細ビューの間で 1:1 ではありません。ID を使用して単純に遷移する方法があるはずです。

Cp

于 2013-08-08T14:20:12.540 に答える