#10945に関連しているようです。
私のユースケースは、ユーザーが期限切れのトークンを使用してナビゲートしようとすると(ウィンドウを十分長く開いたままにして)、API呼び出しが不正なエラーで失敗することです。 このタイプのエラーをキャッチし、ユーザーを再認証し、認証後に移行を再試行するために、アプリケーションのエラーアクションにいくつかのロジックを追加しました。 問題は、私がしようとするということであるtransition.retry()
とダイナミックセグメントとクエリパラメータを持つルートにrefreshModel
、それは以下のエラーで失敗します。
You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route [route name]
クエリパラメータをrefreshModel: false
に設定すると、正常に機能します。
再現可能なひねりは次のとおりです: https ://ember-twiddle.com/e25fc434b6e1c1627e553b8120203655
「クエリパラメータ付きの動的セグメント」リンクをクリックすると、エラーが表示されます。 /routes/dynamic-segment.jsでrefreshModel
をfalse
に変更すると、機能します。
どんな助けでも大歓迎です。 ありがとう!
Route.refresh()
によってトリガーされた遷移をtransition.retry()
しようとすると、同様のことが発生します。ここで、 queryParamsOnly: true
これはどういうわけか#16921に関連していると思います
Route#refresh()
は、動的セグメントがある場合は再試行できない遷移を生成することがわかりました。
これが私のユースケースです: https :
@ krukid-あなたが言及している問題は、ここで議論されている元の問題とは多少関係がないようです(私は思います)。 そのために新しい問題を提出していただけませんか?
@rreckonerrは最近、いくらか関連するバグを修正しました(中間遷移を行うときに元の値をスレッド化しない)、これはやや関連しているようです。 ここでの最初のステップは、router.jsで失敗したテストケースを作成することだと思います...
最も参考になるコメント
@ krukid-あなたが言及している問題は、ここで議論されている元の問題とは多少関係がないようです(私は思います)。 そのために新しい問題を提出していただけませんか?
@rreckonerrは最近、いくらか関連するバグを修正しました(中間遷移を行うときに元の値をスレッド化しない)、これはやや関連しているようです。 ここでの最初のステップは、router.jsで失敗したテストケースを作成することだと思います...