2011-05-20 39 views
2

我想創建一個簡單的使用ExtJs4和Ruby On Rails的CRUD應用程序。我試圖用JSON實現resftul數據存儲。ExtJs4 json data.store和Rails

我有更新記錄的問題。該請求正在發送到服務器端,數據庫正在更新,但在數據存儲中,我仍然有記錄標記爲「髒」。當我試圖更新另一條記錄時,我發送了兩個請求(一個用於上一條記錄,另一個用於下一條記錄)。

另外我有創建新記錄的問題。服務器端正在創建一條記錄,但在我的數據存儲中,它仍然被標記爲未保存(髒),因此在下一次更新/創建操作時,該記錄再次發送到服務器,結果是我的數據庫中有重複的記錄。

現在的問題是 - 如何構建一個有效的數據存儲和相應的模型來與Rails中的restful json一起工作?我的應用程序的

來源,你可以找到我的github帳戶:https://github.com/lucassus/extjs4-account-manager

店:https://github.com/lucassus/extjs4-account-manager/blob/master/public/javascripts/app/store/Users.js 和模型:https://github.com/lucassus/extjs4-account-manager/blob/master/public/javascripts/app/model/User.js

回答

4

這樣做的原因是,ExtJS的JsonReader期待「用戶」根是一個數組。這意味着,當它從創建和更新操作中取回單個用戶對象時,它無法正確解析它,因此不會正確更新模型以標記接收到的更改,並因此刪除髒標誌。

爲了使這項工作,你可以在軌操作按照此更改格式線:

format.json { render :json => { :success => true, :users => [@user] } } 

(請注意有關單個用戶對象的方括號)

那麼這將正確地更新骯髒的旗幟。

+0

你救了我的一天,謝謝你的幫助! ;) – luacassus 2011-05-26 07:29:57