2012-04-23 4 views
0

Я пытаюсь использовать модель Backbone.js, чтобы отслеживать, какие руководства пользователь видел. Я хотел бы сохранить значение в User.guides, которое является сериализованным полем в рельсах.Backbone.js на save() отправляет для создания вместо обновления и с JS вместо JSON?

var Model = Backbone.Model.extend({ 
    urlRoot : '/users', 
    defaults : { 
     user : { 
      guides : { 
       step1 : false, 
       step2 : false   
      }   
     } 
    } 

}); 

Это то, что происходит при нагрузке. Позже, когда я пытаюсь сделать обновление:

me.model.set({ 
    user : { 
     room_wizard : { 
      project_completed : true 
     }   
    } 
}); 


me.model.save(); 

Проблема здесь в Rails является erroring по следующим причинам:

  • Backbone.js вывешивает создать как JS, когда он должен быть Дополнение JSON? Зачем?

Идеи? Я неправильно обрабатываю это? Я новичок в Backbone.js Thanks

+0

Проблема может заключаться в том, что с помощью rails + devise, чтобы обновить пользовательскую модель пользователя, вы отправляете в/users вместо/users /: id --- Есть ли способ справиться с этим? – AnApprentice

ответ

2

правила Костяка в эмпирическом выбор между POST или PUT к серверу, если модель имеет id или не имеет.

  • Если модель имеетid Магистраль будет использовать глагол PUT.
  • Если модель не имеет a id Магистраль будет использовать глагол POST.
+0

Спасибо, это имеет смысл, но учитывая, что Rails не настроен таким образом для модели пользователя, как я могу переопределить? – AnApprentice

+0

Модель 'User' не имеет идентификатора' id' в слое Rails? как вы узнаете, какой «Пользователь» вы _updating_ ?. – fguillen

Смежные вопросы