Столкнулся с той же проблемой обучения spine.js. Я использую чистый JS, поэтому я пренебрегал примером контакта http://spinejs.com/docs/example_contacts, который помог на этом. На самом деле вы не можете сохранить порядок на сервере таким образом, но вы можете сделать свой собственный порядок с помощью javascript.
Обратите внимание, что я использую Шаблон элемента здесь. (http://spinejs.com/docs/controller_patterns)
Сначала вы устанавливаете функцию, которая будет выполнять сортировку внутри модели:
/*Extending the Student Model*/
Student.extend({
nameSort: function(a,b) {
if ((a.name || a.email) > (b.name || b.email))
return 1;
else
return -1
}
});
Затем в контроллере студентов вы устанавливаете элементы, используя сортировку:
/*Controller that manages the students*/
var Students = Spine.Controller.sub({
/*code ommited for simplicity*/
addOne: function(student){
var item = new StudentItem({item: student});
this.append(item.render());
},
addAll: function(){
var sortedByName = Student.all().sort(Student.nameSort);
var _self = this;
$.each(sortedByName, function(){_self.addOne(this)});
},
});
И это все.