2012-04-23 62 views
0

我正在嘗試使用Backbone.js模型來跟蹤用戶所看到的內容。我想將這個值存儲在User.guides中,這是一個在rails中的序列化字段。save()上的Backbone.js發佈而不是更新,而使用JS而不是JSON?

var Model = Backbone.Model.extend({ 
    urlRoot : '/users', 
    defaults : { 
     user : { 
      guides : { 
       step1 : false, 
       step2 : false   
      }   
     } 
    } 

}); 

這就是加載時發生的情況。後來當我試圖進行更新:

me.model.set({ 
    user : { 
     room_wizard : { 
      project_completed : true 
     }   
    } 
}); 


me.model.save(); 

這裏的問題是Rails的示數是由於以下原因:

  • Backbone.js的被張貼創建爲JS何時應該更新爲JSON?爲什麼?

想法?我是否正確處理了上述問題?我是backbone.js的新手謝謝

+0

問題可能在於使用rails + devise來更新當前用戶的用戶模型,您可以發佈到/ users而不是/ users /:id ---有沒有辦法處理這個問題? – AnApprentice 2012-04-23 01:30:33

回答

2

在服務器上選擇POSTPUT的骨幹經驗法則是如果模型有id或沒有。

  • 如果型號id骨幹網將使用動詞PUT
  • 如果型號還沒有id骨幹將使用動詞POST
+0

謝謝,這是有道理的,但考慮到Rails沒有爲用戶模型設置這種方式,我該如何重寫? – AnApprentice 2012-04-23 15:56:35

+0

'用戶'模型在Rails層沒有'id'?你怎麼知道哪個'用戶'是你的_updating_ ?. – fguillen 2012-04-23 17:01:38