2013-09-06 2 views
0

Модель пользователяМагистральная модель Сохранить: отправка поля, как "модель" подобъекте

define(
    [ 
    'backbone' 
    ], 
    function (Backbone) { 

    return Backbone.Model.extend({ 
     url: '/proxy.php/users.json', 

     defaults: { 
     'first_name': '', 
     'last_name': '', 
     'work_email': '' 
     }, 

     validation: { 
     first_name: { 
      required: true, 
      msg: 'Please enter a first name' 
     }, 

     last_name: { 
      required: true, 
      msg: 'Please enter a last name' 
     }, 

     work_email: { 
      required: true, 
      msg: 'Please enter a valid email' 
     } 
     } 

    }); 
    } 
); 

Просмотр сохранения данных

onSave: function (ev) { 

    ev.preventDefault() 

    var details = $('.edit-user-form').serializeObject() 
    var object = new User() 

    return object.save(details, { 
     success: function (response) { 
     console.log(response, 'response') 
     } 
    }) 
    }, 

детали =

{first_name: "", last_name: "", birthdate: "", job_title: "", job_start_date: ""…} 
birthdate: "" 
first_name: "" 
job_probation_ends: "" 
job_start_date: "" 
job_title: "" 
last_name: "" 
personal_address: "" 
personal_email: "" 
personal_phone_number: "" 
work_address: "" 
work_email: "" 
work_phone_number: "" 

Проблема, запрос посланный Backbone отправляет данные формы как:

model:{"first_name":"","last_name":"","work_email":"","birthdate":"","job_title":"","job_start_date":"","job_probation_ends":"","work_address":"","work_phone_number":"","personal_email":"","personal_address":"","personal_phone_number":""} 

Почему это делает атрибуты субъектом модели? Я хотел бы, чтобы атрибуты были отправлены в качестве корня.

+0

возможно дубликат [Почему магистральные отправки информации о модели внутри {модели: { model \ _property: value, ...}}, когда я сохраняю модель] (http://stackoverflow.com/questions/13005812/why-is-backbone-sending-model-information-inside-model-model-propertyvalue) – azz0r

ответ

0

Если вы хотите изменить структуру данных, передаваемую на сервер, а затем переопределить метод toJSON для вашей модели:

toJSON: function() { 
    return { // structure the model as you wish here }; 
} 
Смежные вопросы