redirect - create - EmberJS: cómo redirigir desde la ruta, manteniendo los parámetros de consulta
ember route params (1)
Quiero redirigir desde una ruta, /new
, y mantener los parámetros de consulta para la new
ruta:
Hasta donde yo sé, el único lugar para acceder a queryParams
está dentro del gancho model
de una ruta.
Pero quiero redirigir en el gancho beforeModel
:
import Ember from "ember";
export default Ember.Route.extend({
/**
* @@override
* Implicitly create a new applicant, redirecting to the generated ID at /applications/#{id}
* @param transition
*/
beforeModel: function(transition) {
var emptyApplicant = this.store.createRecord("applicant",
{isPrimary: true}
),
emptyApplication = this.store.createRecord("application");
emptyApplication.set("applicant", emptyApplicant);
emptyApplicant.save().then((savedApplicant) => {
emptyApplication.save().then((savedApplication) => {
this.transitionTo("applications", savedApplication);
});
});
}
});
Mientras el código anterior funciona, la transición se completará sin preservar los parámetros de la consulta. Por ejemplo, navegar a los applicants/new?agent=35
no conservará agent=35
en el param de consulta, y simplemente redirigirá a los applicants/new
lugar.
¿Cómo puedo acceder al objeto queryParams
desde el gancho beforeModel
en mi aplicación Ember?
Debería poder pasar parámetros de consulta a transitionTo
, algo en la línea de:
this.transitionTo("applications", savedApplication, {
queryParams: transition.queryParams
});