tem muitas relações em acessórios em Ember-Data rev 12

O Ember tem uma curva de aprendizado acentuada porque a) ainda não é estável, b) há tantos exemplos desatualizados na web que podem levar você ao erro. Ember-Data, um irmão gêmeo é uma besta mais complicada para começar. Estando em forte desenvolvimento, as coisas mudaram tão rápido que o fragmento de hoje não é mais relevante. Por um lado, é muito complicado aprender Ember, por outro, sim, é tudo sobre tecnologia de ponta – você sabe o que fazer!

O problema de hoje fez minha cabeça girar, mas depois de perguntar aqui e ali, com a ajuda de caras incríveis no Stackoverflow e no canal IRC do Ember, eu finalmente consegui, yay!

Então, vamos direto ao ponto. Eu gostaria de mostrar a você como usar a relação hasMany em acessórios na revisão 12 do Ember-Data .

Primeiro você deve definir o Adaptador de Fixação para um modelo. Lembre-se de que você pode misturar fixtures e dados reais (adaptador REST) ​​para acelerar o desenvolvimento.

Os exemplos (muito simplificados) abaixo foram escritos em Coffee Script.

App.Store = DS.Store.extend
revision
: 12
adapter
: 'DS.RESTAdapter' #default adapter
# server doesn’t return real data yet
App.Store.registerAdapter 'App.Post', DS.FixtureAdapter
App.Store.registerAdapter 'App.Comment', DS.FixtureAdapter

Vamos definir nossos modelos:

App.Post = DS.Model.extend
comments
: DS.hasMany 'App.Comment'
title
: DS.attr 'string'
content
: DS.attr 'string'

App.Comment = DS.Model.extend
post
: DS.belongsTo 'App.Post'
title
: DS.attr 'string'
content
: DS.attr 'string'

E nossos dados de fixação:

App.Post.FIXTURES = [
id
: 1
title
: 'Big brother is watching you!'
content
: 'Smith! You’re being watched!'
comments
: [1, 2]
,
id
: 2
title
: 'Novus ordo seclorum'
content
: 'How come brown cow?'
comments
: [3, 4, 5]
]

App.Comment.FIXTURES = [
id
: 1
title
: 'I can't believe it!'
content: '
world is soo beautiful on the TV!'
,

id: 2

title: '
Hey dude, were in the 21st century!'
content: '
in your face!'
,

id: 3

title: '
Hey, I think I saw it somewhere!'
content: '
it must be good'
,

id: 4

title: '
WTF?!'
content: '
another conspiracy theorist ha ha'
,

id: 5

title: '
Were doomed!'
content: '
politicians must do sth about it!'
]

A parte complicada é como fazer funcionar. Na verdade, tudo se resume a esta parte:

comments: [1, 2]

fazendo você se sentir bem. 🙂

Não acho que esteja bem documentado, pelo menos não consegui encontrar. Em contraste com o JSON retornado pelo servidor, você não precisa definir o sufixo _ids .

Disseram-me que as luminárias Ember são ótimas por causa de sua simplicidade e, quando terminar, mudar para dados reais é um passeio no parque.

Espero que seja útil. Ah, e é claro que você pode acessá-lo em modelos de guidão como faria com dados reais, ou seja, por meio de um controlador.