0

我从夹具中收集了数据并以表格的形式显示。

另外,我添加了两列,第一列是编辑,另一列是删除,现在我想编辑特定的行。

单击编辑时,我在模态窗口上填充了一个更新按钮的数据,我想在单击更新时更新更改。

这是我的代码: 商店:

Grid.Store = DS.Store.extend({adapter: 'DS.FixtureAdapter'});

路由器:

        Grid.Router.map(function () {
      this.resource('mainview', { path: '/' });                       
    });  
    Grid.MainviewRoute = Ember.Route.extend({
          model: function () {
            return Grid.ModalModel.find();
          }
    });

模型 :

    Grid.ModalModel =  DS.Model.extend({
    fname: DS.attr('string'),
    lname: DS.attr('string'),
    email: DS.attr('string'),
    contactno: DS.attr('string'),
    gendertype: DS.attr('boolean'),
    contactype: DS.attr('number')
});

Grid.ModalModel.FIXTURES = [
                       {
                         id: 1,
                         fname: "sachin",
                         lname: "gh",
                         email: "gh",
                         contactno: "4542154",
                         gendertype: true,
                         contactype: 1
                       },
                       {
                         id: 2,
                         fname: "amit",
                         lname: "gh",
                         email: "gh",
                         contactno: "4542154",
                         gendertype: true,
                         contactype: 1
                       },
                       {
                         id: 3,
                         fname: "namit",
                         lname: "gh",
                         email: "gh",
                         contactno: "4542154",
                         gendertype: true,
                         contactype: 1
                       }
                      ];

控制器 :

Grid.MainviewController = Ember.ArrayController.extend({
    contentChanged: function() {
        this.get('content').forEach(function(item){
          var serializer = DS.RESTSerializer.create();
          var json_data = serializer.serialize(item);
          console.log(JSON.stringify(json_data));
        });
      }.observes('content.@each'),
    showmodal: function(){    
          $('#modal').modal(); 
    },
    showeditmodal: function(){
        var rowindex_table = 1;
        var contactype = 0;
          var post = Grid.ModalModel.find(rowindex_table);
          var serializer = DS.RESTSerializer.create();
          var cont_edit_data = serializer.serialize(post);
          console.log(JSON.stringify(cont_edit_data));

          this.set('obj_form_edit_data.cont_data.fname', cont_edit_data["fname"]);
            this.set('obj_form_edit_data.cont_data.lname', cont_edit_data["lname"]);
            this.set('obj_form_edit_data.cont_data.email', cont_edit_data["email"]);
            this.set('obj_form_edit_data.cont_data.contactno', cont_edit_data["contactno"]);
            if(cont_edit_data["gendertype"] == true){
                this.set('male', true);
                $(".cssmale").addClass("active");
            }else{
                this.set('female', true);
                $(".cssfemale").addClass("active");
            }
            $('.selectpicker').val(cont_edit_data['contactype']);
            $('.selectpicker').selectpicker('render');
            $('#editmodal').modal();
    },
    isMale: false,
    isFemale: false,
    obj_form_edit_data : Ember.Object.create({
        cont_data:{
            fname : "",
            lname : "",
            email : "",
            contactno : "",
            gendertype : "",
            contactype : 0
        }
    }),     
    gendertype: function(){
        this.set('isMale', !this.get('isMale'));
    },
    savecontact: function(){//save data in local storage
        var fname = this.obj_form_edit_data.get('cont_data.fname');
        var lname = this.obj_form_edit_data.get('cont_data.lname');
        var email = this.obj_form_edit_data.get('cont_data.email');
        var contactno = this.obj_form_edit_data.get('cont_data.contactno');
        var gendertype = ((this.get('isMale') == true) ? true : false);
        var contactype = $(".selectpicker").text();
        //Clear view first
        this.set('obj_form_edit_data.cont_data.fname', '');
        this.set('obj_form_edit_data.cont_data.lname', '');
        this.set('obj_form_edit_data.cont_data.email', '');
        this.set('obj_form_edit_data.cont_data.contactno', '');
        this.set('isMale',false);
        this.set('isFemale',false);
        $('.selectpicker').val('0');
        $('.selectpicker').selectpicker('render');

        Grid.ModalModel.createRecord({  
          fname: fname,
          lname: lname,
          email: email,
          contactno: contactno,
          gendertype: gendertype,
          contactype: contactype
        });
        this.get('store').commit(); 
    },
    updatecontact: function(){
        this.get('store').commit();
    }


updatecontact is used to update record on click of update button but it is throwing an error 
Uncaught TypeError: Object [object Object] has no method 'commit'

谁能告诉我在这种情况下如何更新记录?

4

0 回答 0