Rails 3 - KendoUI - Проблема с доступом к объекту JSON - Uncaught ReferenceError - PullRequest
0 голосов
/ 09 февраля 2012

Я создал простой JSON-интерфейс Rails 3 с моделью «user» и контроллером «users».Сам 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"              
            }]
    });        

});

Сеткакажется, что определение работает, потому что когда сетка отображает, она отображает «Заголовок», который я указал в сетке:

enter image description here

Но ... как вы можете видеть, нетданные появляются. И я получаю Uncaught ReferenceError для поля 'first_name' :

enter image description here

Есть мысли о том, что может быть причиной этого?

1 Ответ

1 голос
/ 09 февраля 2012

Я думаю, вам нужно отредактировать этот параметр в процессе инициализации Rails:

ActiveRecord.Base.include_root_in_json = false

Обновление: Рад, что это помогло ... :) Это потому, что по умолчанию Rails отображает ответ JSON с включенным корневым элементом. Большинству библиотек и фреймворков JS, таких как Kendo, Backbone и т. Д., Это не нравится ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...