2013-02-28 5 views
3

Здравствуй, я довольно новый с угольком и исследовать его, я был в состоянии сделать простой пост к ресурсу, тем не менее, это делает мой объект, как этоттаможенного уголек-данные сериализация

{"person":{"atribute1":"jjj","atribute2":"jjj"}} 

Есть ли способ удалить «логин», как пользовательский сериализатор, мой конечную работу, передавая объект в виде

{"atribute1":"jjj","atribute2":"jjj"} 

Спасибо.

+0

Для этой цели вам, скорее всего, потребуется реализовать пользовательский сериализатор. –

+0

любые идеи, как это сделать – Necronet

ответ

0

Единственное решение, которое я смог найти переопределить createRecord, прежде чем я имел

data[root] = this.serialize(record, { includeId: true }); 

Я удалил индекс корня и получил вместо этого:

App.Store = DS.Store.extend({ 
       revision: 11, 
       adapter : 'App.CustomAdapter' 

     }); 

     App.CustomAdapter = DS.RESTAdapter.extend({ 

         createRecord: function(store, type, record) { 
          var root = this.rootForType(type); 

          var data = {}; 
          data = this.serialize(record, { includeId: true }); 

          this.ajax(this.buildURL(root), "POST", { 
           data: data, 
           context: this, 
           success: function(json) { 
           Ember.run(this, function(){ 
            if (this.rootForType(type) == 'login') { 
              return; 
             } 

            this.didCreateRecord(store, type, record, json); 
           }); 
           }, 
           error: function(xhr) { 
           //HERE to handle login operation failed 
           this.didError(store, type, record, xhr); 
           } 
          }); 
         } 

     }); 

Может быть атрибут как withRoot или что-то то подобное может потребоваться.

+0

У меня такая же проблема, можете ли вы сказать, где добавить это в свой код? –

+0

Уверен, что я отредактировал, так как вы можете видеть, что добавляете это, расширяя RESTAdapter и переопределяя createRecord, имейте в виду, что есть другой метод, который ведет себя аналогично, это только для операции POST при создании записи. Также имейте в виду, что открыт билет https://github.com/emberjs/data/issues/771, чтобы вы могли следить за ним. – Necronet

+0

Есть ли способ для получения запросов GET? для использования App.User.find() –

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