0

'user'モデルと'users'コントローラーを使用して単純なRails3JSONAPIを作成しました。ただし、API自体は正常に機能しています...

Kendo UIデータソースを使用してグリッドにデータを入力しようとしていますが、問題が発生しています。

Chromeネットワークツールを使用すると、JSONデータがサーバーから戻ってきていることがわかります。

[{"user":{"created_at":"2012-02-08T17:33:27Z","first_name":"Angelina","id":1,"last_name":"Jolie","password":"","updated_at":"2012-02-08T17:33:27Z","user_name":""}},{"user":{"created_at":"2012-02-08T17:34:50Z","first_name":"Milla","id":2,"last_name":"Jovovich","password":"","updated_at":"2012-02-08T17:34:50Z","user_name":""}}]

グリッドとデータソースの作成に使用されるJavascriptは次のとおりです。

$(document).ready(function(){

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

            }
        }           
    });


    $("#grid").kendoGrid({
        dataSource: sharableDataSource,
            columns: [
            { 
                title: "First Name",
                field:"first_name"
            },

            {   
                title: "Last Name",
                field: "last_name"              
            }]
    });        

});

グリッドがレンダリングされると、グリッドで指定した「タイトル」が表示されるため、グリッド定義は機能しているように見えます。

ここに画像の説明を入力してください

しかし...ご覧のとおり、データは表示されません。 そして、'first_name'フィールドのUncaughtReferenceErrorが発生します

ここに画像の説明を入力してください

これを引き起こしている可能性があるものについて何か考えはありますか?

4

1 に答える 1

1

Railsの初期化プロセス中にこの設定を編集する必要があると思います。

ActiveRecord.Base.include_root_in_json = false

更新:お役に立ててうれしいです... :)これは、デフォルトでRailsがルート要素を含むJSON応答をレンダリングするためです。剣道、バックボーンなどのJSライブラリとフレームワークのほとんどはそれを好きではありません。

于 2012-02-09T17:40:38.283 に答える