2

您好,在回答精彩问题Ember.js - CRUD 场景 - 从 Route查找和 findAll 中指定视图时,提到要在模型上使用自动反序列化 URL。

这个界面是什么样子的,它真的是模型而不是控制器吗?

一个例子会很棒。

4

1 回答 1

4

与往常一样,文档是一个很棒的起点。查看https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/routable.js#L231-273了解默认的序列化/反序列化方法。

你有正确的想法。

  • Ember 采用最近的动态段,例如blog_post_id
  • 从末端剥离_id,离开blog_post
  • Ember.String.classify('blog_post')返回 BlogPost 的调用
  • 它在 Ember 命名空间下查找该模型类,例如 App.BlogPost
  • 它在该模型上调用 find 。例如 App.BlogPost.find(1)

编辑:

在回应 Neppord 的评论时,他询问了多个动态细分市场。是的,ember-router 目前确实支持单个路由中的多个动态段。

Ember.Route.extend({
  route: "/:post_type/:post_id"
})

如果你真的需要它,你将不得不编写自己的反序列化/序列化方法。就我个人而言,我只会使用嵌套的动态状态。

Ember.Route.extend({
  route: "/:post_type"
  post: Ember.Route.extend({
    route: "/:post_id"
  })
})
于 2012-07-10T09:38:12.883 回答