2012-12-06 40 views
2

我是Backbone的新手,我遇到了將模型保存到數據庫的問題。點擊時,現場「輪廓」應該被更新爲「100」,但它不工作:主幹網保存不起作用

$ - >

class User extends Backbone.Model 
    url: -> '/users/' + this.get("id") '.json' 

class Users extends Backbone.Collection 
    model: User 

class UserView extends Backbone.View 
    tagName: "li" 
    events: 
     "click" : "changeProfile" 

    render: -> $(@el).html(@model.get "name") 
    changeProfile: -> 
     $('li').removeClass('selected') 
     $(@el).addClass('selected') 
     @model.set('profile' : '100').save() 

users = new Users 
users.url = "/users.json" 
users.fetch(
    success: -> 
     _.each users.models, (model) -> 
      view = new UserView(model: model) 
      $('ul').append view.render() 
) 

「用戶」控制器/「用戶」模式進行了腳手架(和控制器在json中呈現)。我正在使用Backbone和Rails的最新版本。有人可以幫忙嗎?

(JavaScript控制檯在Chrome中註冊了以下錯誤: 「遺漏的類型錯誤:數量不是一個函數」)

回答

0

urlUser缺少+

class User extends Backbone.Model 
    url: -> '/users/' + this.get("id") '.json' 
    #---------------------------------^^ 

的是最後一部分被這樣解釋:

this.get("id")('.json') 

而且由於get('id')正在恢復一個數字,你會得到一個「數字不是一個函數」的錯誤。添加缺少的+獲得字符串連接或使用CoffeeScript中的插補:

url: -> '/users/' + this.get('id') + '.json' 

url: -> "https://stackoverflow.com/users/#{this.get('id')}.json"