you can override serialize
in router to return customUrl
instead of id
App.DetailsRoute = Ember.Route.extend({
// ....
serialize: function(model) {
return { details_id: model.get('customUrl') };
}
});
문제
I'm trying to do a custom url.
More specifically, what I've already done is: mypage.com/details/1
What I'd like to do is: mypage.com/details/john-doe
Of course, I want exactly the same behavior as now, with the sole difference being a custom string instead of id
Here's my DS model
App.Images.FIXTURES = [
{
id:1,
name: "John",
lastName: "Doe",
age: 25,
customUrl: "john-doe"
},
{
id:2,
name: "John",
lastName: "Doe",
age: 31,
customUrl: "john-doe1"
}];
*Note the customUrl attribute which is unique.
My routes:
App.Router.map(function(){
this.resource("details", {path: 'details/:image_id'});
});
And the according html:
{{#linkTo 'details' this}}The details{{/linkTo}}
What are my options? Putting "this" in html automatically grabs the ID. I tried this.customUrl with no luck (I get the "undefined" value in the url).
Thank you for your help!
해결책
you can override serialize
in router to return customUrl
instead of id
App.DetailsRoute = Ember.Route.extend({
// ....
serialize: function(model) {
return { details_id: model.get('customUrl') };
}
});