你如何在Ember.js中获得post/my-title
(使用自定义slug)而不是posts/2
(带有id)?
我的方法是在我的模型中添加和使用slug,但它不能直接访问。使用{{link-to}}
助手可以使用,也可以使用slug。我认为错误在于PageRoute
的模型。试试return this.store.find('page', {'slug': params.page_slug})
没有任何运气。
答案 0 :(得分:2)
您的Ember Data版本不匹配。在PageRoute
中,您正在使用模型定义来尝试查找不再正确的记录。见https://github.com/emberjs/data/blob/master/TRANSITION.md
另外,你真的应该用slug替换id
,因为你基本上都认为独特的物品毫无价值(aka slug
并不一定是唯一的,但是id
那么,当你有多个具有相同slug的项目时会发生什么?)如果你的slug总是唯一的,你也可以使用它们作为id
没有id必须是数字的约束。