Skip to content

Instantly share code, notes, and snippets.

@ryanflorence
Created February 21, 2014 03:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryanflorence/9128485 to your computer and use it in GitHub Desktop.
Save ryanflorence/9128485 to your computer and use it in GitHub Desktop.
var Ember = require('ember');
Ember.Route.reopen({
model: function(params, transition) {
var match, name, sawParams, value;
for (var prop in params) {
if (prop === 'queryParams') { continue; }
if (match = prop.match(/^(.*)_id$/)) {
name = match[1];
value = params[prop];
}
sawParams = true;
}
if (!name && sawParams) {
return Ember.copy(params);
} else if (!name) {
if (transition.resolveIndex !== transition.state.handlerInfos.length-1) { return; }
var parentModel = transition.state.handlerInfos[transition.resolveIndex-1].context;
return parentModel;
}
return this.findModel(name, value);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment