2012-02-08 49 views
0

我已經創建了一個簡單的Rails 3 JSON API與「用戶」模型和「用戶」控制器。該API本身工作正常,但...導軌3 - KendoUI - 無法存取JSON對象 - 未捕獲的ReferenceError

我試圖使用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

但是......你可以看到,沒有出現數據。 而我得到一個未捕獲的ReferenceError爲「FIRST_NAME」字段

enter image description here

什麼可能會造成這個有什麼想法?

+1

我認爲你需要在你的Rails初始化過程中修改此項設置:'ActiveRecord.Base.include_root_in_json = FALSE' – 2012-02-08 21:48:44

+0

你的先生是一個天才。我把它放在config/environment.rb文件中,現在它可以工作。不知道爲什麼,但確實如此。如果您可以將您的評論作爲答案提交,我會將其標記爲解決方案。謝謝! – PhillipKregg 2012-02-08 21:55:29

回答

1

我認爲你需要在你的Rails初始化過程中修改此項設置:

ActiveRecord.Base.include_root_in_json = false

更新:很高興它幫助... :)這是因爲默認情況下Rails的渲染它與JSON響應包括根元素。大部分的JS庫和框架喜歡劍道,骨幹等不一樣的..

+0

啊,好吧,有道理。再次感謝! – PhillipKregg 2012-02-09 19:18:18

相關問題