0

我创建了一个带有“用户”模型和“用户”控制器的简单 Rails 3 JSON api。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”字段的未捕获参考错误

在此处输入图像描述

关于可能导致这种情况的任何想法?

4

1 回答 1

1

我认为您需要在 Rails 初始化过程中编辑此设置:

ActiveRecord.Base.include_root_in_json = false

更新:很高兴它有帮助... :) 这是因为默认情况下,Rails 呈现它的 JSON 响应,其中包含根元素。大多数 JS 库和框架,如 Kendo、Backbone 等都不喜欢这样。

于 2012-02-09T17:40:38.283 回答