ember.js - 在emberjs路由中使用子弹

标签 ember.js ember-data

我试图弄清楚如何在 Ember route 使用段塞(模型的属性)来获取更干净的网址。

我希望我的路线如下所示:

http://www.server.com/#/newsitems/newsitem-title-in-slug-format/1

代替:
http://www.server.com/#/newsitems/1/1

如您所见,我想用实际的slug属性替换newsitem的ID。这是我的Newsitem模型的样子:
App.Newsitem = DS.Model.extend({
    slug: DS.attr('string'),
    title: DS.attr('string'),
    summary: DS.attr('string'),
});

slug属性以以下格式接收纯文本属性:title-in-slug-format
这是我目前的路由器 map :
App.Router.map(function(){
  this.resource('newsitems', function(){
    this.resource('newsitem', {path:':newsitem_id'});
  });
});

我尝试用newsitem_id替换newsitem_slug,但这不起作用。还有其他建议吗?

最佳答案

非常感谢Michael为我指明了正确的方向。但是,我认为这是因为我正在使用rc-1版本的ember,因此不必为此覆盖模型 Hook 。我唯一要做的是:

App.NewsitemRoute = Ember.Route.extend({
  serialize: function(model, params) {
    return { newsitem_id: model.get('slug') };
  }
});

关于ember.js - 在emberjs路由中使用子弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14946645/

相关文章:

javascript - store.CreateRecord 推送记录来存储来自服务器的负面响应

javascript - Ember cli 应用程序具有不同的适配器类型?

javascript - 使用嵌入式记录和 Ember 数据

if-statement - 检查 Ember Handlebar If block 助手中的值是否等于

ember.js 如何创建基础组件

javascript - 在路由加载时运行 ember Controller 函数以设置控制复选框的属性

javascript - Ember 模型示例应用程序

ember.js - Ember 动态段为空

ember.js - Ember {{#link-to}} 未转换为路线

javascript - Ember.js RESTful 模型关系