Buscando modelos relacionados com o Backbone

O backbone é um ótimo framework, mas é tão bom quanto jovem. Então, há muitas coisas que não tiramos da caixa. Uma dessas coisas é obter os modelos relacionados. Deixe-me explicar do que estou falando.

Acho que temos dois modelos no backend do Rails. Postagens e comentários e postagens tem muitos comentários_. Muito simples, mas como podemos obtê-los do backbone?

Esse é o momento em que você começa a gritar várias palavras rudes e a ficar com raiva. Sem suporte. Existem várias libs, fornecidas pela comunidade como backbone-relational , também há um tutorial muito bom sobre isso, mas para mim é muito complexo e não funciona direito com o coffeescript.

Pare de falar – comece a codificar.

O código completo pode ser encontrado em https://gist.github.com/4653259 . Pode haver vários erros de sintaxe, mas é apenas para mostrar o esquema.

Temos Postagens (título, corpo) . Portanto, na página de índice, estamos carregando apenas títulos e, em seguida, quando precisamos mostrar o Post completo, buscamos outras informações do servidor.
Estamos colocando nossa coleção de comentários no atributo do modelo

this.comments = new Comments(null, {
baseUrl
: this.url + this.id
});
this.on('change:body', function() {
this.comments.fetch();
}, this);

Vinculando a ação fetch () de comentários em qualquer mudança no atributo body do modelo Post (buscar do servidor também é uma mudança).

Na minha opinião, esse é o ponto chave para ligar os modelos uns aos outros. Não reivindico a versão correta de atravessar a relação, é apenas a variante que me ajudou a resolver o problema.

Com a ajuda de ant_ti .