因此,我试图让我的路由正常工作,以便我的网址中有永久链接以供共享。IE“/入门”。
我似乎无法弄清楚模型/序列化是如何工作的,那么 ember-data 如何知道如何使用字符串找到我的对象?我已经尝试过 queryFixtures,它返回了正确的模型,但没有设置
这是我的代码:
路由器:
App.Router.map (match) ->
@resource 'topics', {path: "/support"}, ->
@route 'topic', {path: '/:permalink'}
# Support Routes
App.TopicsRoute = Ember.Route.extend
model: ->
this.store.find('topic')
App.TopicsTopicRoute = Ember.Route.extend
# serialize: (model, params) ->
# return { topic_id: model.get(params.topic_id) }
model: (param) ->
@get('store').findQuery App.Topic, {permalink: param.permalink}
setupController: (controller, model) ->
controller.set("content", model)
actions:
error: (error) ->
console.log error
App.ApplicationAdapter = DS.FixtureAdapter.extend
queryFixtures: (fixtures, query, type) ->
fixtures.filter (item) ->
for property, value of query
if item[property] == value
return item
else
false
还有我的固定装置:
App.Topic = DS.Model.extend
name: DS.attr('string')
permalink: DS.attr('string')
position: DS.attr('number')
# Fiture data
App.Topic.FIXTURES = [
{
id: 1
name: "Getting Started"
permalink: "getting-started"
position: 1
articles: [
{ name: "test 1", content: "Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et." },
{ name: "test 2", content: "Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et." },
{ name: "test 3", content: "Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et." }
]
},
{
id: 2
name: "Frequently Asked Questions"
permalink: "frequently-asked-questions"
position: 2
articles: [
{ name: "test 1", content: "Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et." },
{ name: "test 2", content: "Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et." }
]
},
{
id: 3
name: "Tips & Tricks"
permalink: "tips-tricks"
position: 3
articles: [
{ name: "test 1", content: "Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et." }
]
}
]