3

こんにちは私は残り火とそれを探求するのはかなり新しいです、私はリソースに簡単な投稿をすることができました、それにもかかわらずそれは私のオブジェクトをこのようにレンダリングします

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

カスタムシリアライザーのように「ログイン」を削除する方法はありますか?私のエンドポイントは、次の形式でオブジェクトを渡すことで機能します

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

ありがとう。

4

1 に答える 1

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などの属性が必要になる場合があります。

于 2013-03-01T02:07:50.030 に答える