2012-12-05 19 views
0

問題: 我使用Backbone.js來鏡像Rails中的資源模型。我試圖將當前用戶標識獲取到Backbone Workshop.Models.User模型,這樣我就可以通過Rails將用戶保存到數據庫中用戶RESTful資源。我無法從Currentuser模型中檢索id。 ?不能在rails上的Backbone模型上訪問id?

我嘗試檢索Backbone中當前用戶模型的實例的id時,我的返回值未定義。我可以在服務器日誌上看到提取成功,並且如果將本地實例輸出到日誌中,我可以檢查該對象。我甚至可以使用控制檯運行相同的代碼併成功獲取該ID。這只是在運行時。

我懷疑我應該配置我的模型不同或綁定我認爲的東西。幫幫我?

See my gist here

型號:

# singleton model gets current user 

class Workshop.Models.Currentuser extends Backbone.Model 
idAttribute: '_id' 
urlRoot: -> '/user/currentuser/' 

# classic Rails RESTful resource 

class Workshop.Models.User extends Backbone.Model 
urlRoot: '/users/show' 

回答

5
你要點

,你有下面的代碼

current_user = new Workshop.Models.Currentuser 
current_user.fetch() 
console.log(current_user.id) 

然而,取是asnychronous和id不會填寫直到ajax調用完成。

試試這個(道歉,因爲我的紅寶石技能是零,我的CoffeeScript也不是那麼好要麼等語法沒有保證)

current_user.fetch({ success: -> console.log(current_user.id) });

+0

這可以解釋爲什麼它的工作原理在控制檯中。我必須得到usef才能用偶數代碼來思考。 – digitalpixelpro