Я пытаюсь собрать приложение Rails с backbone.js и шаблонами усов. Я обнаружил, что JSON, требуемый backbone, несовместим с JSON, необходимым для Mustache. (Я начал с этого руководства Cloudedit -a backbone.js tutorial на примере , но я хочу использовать Mustache там, где он использует JST.
Для магистрали мы должны установить ActiveRecord :: Base.include_root_in_json = false. Для моей модели (человек с именем и фамилией) данные, отправленные по рельсам от / people, выглядят так:
[{"firstname":"Jane","surname":"Jones"},{"firstname":"Janet","surname":"Jensen"}]
Мой шаблон усов выглядит так:
Create New
People
{{#people}}
- {{firstname}} {{surname}}
{{/people}}
и из документов усов я ожидаю, что он хочет видеть
{"people":[{"firstname":"Jane","surname":"Jones"},{"firstname":"Janet","surname":"Jensen"}]}
Отредактировал меня, преобразовав коллекцию JS обратно в JSON и отправив в Mustache. Не нужно этого делать. Mustache.js ожидает увидеть объекты js, а не строки JSON.
К тому времени, как я доберусь до Mustache.to_html, у меня будет базовая коллекция моделей. У моделей есть атрибуты имя и фамилия . В firebug это выглядит так:
collection
+_byCid
+_byId
length 2
- models [object { attributes=(...), more...}, object {attributes=(...), more...}]
- 0 object { attributes=(...), more...}
....... some more properties of the object
+ attributes object {firstname="Janet", surname="Jensen"}
Кажется, здесь есть пара проблем. 1. Нет упоминания названия коллекции (людей). Думаю, я могу обойти это разными способами, по крайней мере, используя {{#models}} .. {{/ models}} в шаблоне.
Кажется, я тут все запутался .... Так что я делаю не так? И как это исправить?