Angenommen, ich möchte ein default Verhalten auf viele Routen vererben, bsplw. das Handling von 403ern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// routes/restricted.js import Ember from "ember"; export default Ember.Route.extend({ actions: { error(result) { if (result.errors[0].status === '403') { this.transitionTo('login'); } else { // Let the route above this handle the error. return true; } } } }); |
Und dann in irgendeiner Route:
1 2 3 4 5 6 7 |
import Restricted from "../routes/restricted"; export default Restricted.extend({ model() { return this.get('store').query(/* ... */); } }); |
Grundsätzlich kommt das von hier, ergänzt um die konkrete Implementierung des Error Handlings. Das findet sich hier in der Doku, wobei error.status
nicht funktioniert, es muss result.errors[0].status
sein.