2012-02-12 11 views
0

剣道グリッドの更新を試みており、問題が発生しています。剣道UIグリッド - 更新が維持されない

Iは、バックエンドとしてのRailsを使用していると私が更新を行う際に、サーバーは、すべてが働いたことを示しているように見える。しかし

 Started PUT "/" for 127.0.0.1 at 2012-02-12 17:28:19 -0600 
      Processing by HomeController#index as 
      Parameters: {"models"=>"[{\"created_at\":\"2012-02-08T17:34:50Z\", 
     \"first_name\":\"Milla\",\"id\":2,\"last_name\":\"sfasfsdf\",\"password\":\"\", 
     \"updated_at\":\"2012-02-08T17:34:50Z\",\"user_name\" 
     :\"\"}]"} 
     Rendered home/index.html.erb within layouts/application (3.0ms) 
     Completed 200 OK in 89ms (Views: 88.0ms | ActiveRecord: 0.0ms) 

、私はビューをリフレッシュすると、何も変わっていません。私がデータベースをチェックしたとき、もちろんそこには何の変化もなかった。

私は、グリッド内の編集を行う方法について、ここでのドキュメントを経て:http://demos.kendoui.com/web/grid/editing.html

そして、私はRailsので動作するようにグリッドを設定する方法についてバークホーランドビデオを見て:http://www.youtube.com/watch?v=FhHMOjN0Bjc&context=C3f358ceADOEgsToPDskKlwC22A9IkOjYnQhYyY9HI

がなければなりません私が正しいことをしていないものが、私はそれを見ていないだけです。

ここで剣道のもので動作します私のコードです:

  var User = kendo.data.Model.define({ 
       id: "id", 
       fields: { 
        first_name: { validation: { required: true } }, 
        last_name: { validation: { required: true } } 
       } 
      }); 

      var UsersData = new kendo.data.DataSource({ 
        transport: { 
         read: { 
          url: "/users.json" 
         }, 

         create: { 
          url: "https://stackoverflow.com/users/create.json", 
          type: "POST" 
         }, 

         update: { 

          type: "PUT" 
         }, 

         destroy: { 
          type: "DELETE" 
         }, 

         parameterMap: function(options, operation) { 
          if (operation !== "read" && options.models) { 
           return {models: kendo.stringify(options.models)}; 
          } 
         } 


        }, 

        batch: true, 

        pageSize: 5, 

        schema: { 
         model: User 
        } 


       });    

       $("#users-grid").kendoGrid({ 

        dataSource: UsersData, 
        navigatable: true, 
        editable: true,      
        selectable: true, 
        pageable: true, 
        sortable: true, 
        toolbar: ["create", "save", "cancel"], 

        columns: [ 
        { 
         field: "first_name", 
         title: "First Name" 
        }, 
        { 
         field: "last_name", 
         title: "Last Name" 
        }, 



        ] 


       }); 
+0

バックエンドでPUTを処理する方法は?あなたはバッチでデータを送信しているので、少し違ってそれを扱わなければなりません。多分この投稿をチェックしますか? http://stackoverflow.com/questions/1507011/bulk-update-objects-using-form-in-rails –

答えて

1

いくつかのより多くの研究と私はそれがこのように働いてんだ...

私は7つのRESTfulなルートを上書きするためにルートを追加しましたRailsはデフォルトであなたに与えます。あなたのroutes.rbをファイルには、この行を追加します...基本的に、我々は、コントローラ上の更新定義に行くことによって、すべてのプットを処理しようとしていると言う

match 'users' => 'users#update', :via => :put 

コントローラの定義では、RESTfulではないため、少し異なる方法で更新を処理したいとします。あなたは、URLのキーが機能を取ることができますので、あなたはまた、あなたのデータソースを変更することができ

def update 
    respond_to do |format| 
    @users = JSON.parse(params[:models]) 
    @users.each do |u| 
     user = User.find(u["id"])  
     unless user.nil? 
      user.update_attributes u 
     end 
    end 
    format.json { head :no_content } 
    end 
end 
+0

こんにちはバーク - あなたダ男!助けてくれてありがとう、偉大な作品(と私は剣道のものを楽しんでいる) – PhillipKregg

1

...まず、あなたがなparameterMapを経由して送信されているJSONをパースし、オブジェクトの属性を更新したオブジェクトを反復処理する必要があります。

var UsersData = new kendo.data.DataSource({ 
    transport: { 
     read: { 
      url: '/users.json', 
      dataType: 'json' 
     }, 
     update: { 
      url: function (o) { 
      return '/users/' + o.id + '.json' 
      }, 
      dataType: 'json', 
      type: 'PUT' 
     }, 
     destroy: { 
      url: function (o) { 
      return '/users/' + o.id + '.json' 
      }, 
      dataType: 'json', 
      type: 'DELETE', 
     }, 
     create: { 
      url: '/users.json', 
      dataType: 'json', 
      type: 'POST' 
     }, 
     parameterMap: function(options, operation) { 
      if (operation !== "read" && options.models) { 
       return {models: kendo.stringify(options.models)}; 
      } 
     } 
    }, 
    batch: true, 
    pageSize: 5, 
    schema: { 
     model: User 
    } 
}); 
関連する問題