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 .