主干导轨保存不起作用

时间:2012-12-06 05:58:38

标签: ruby-on-rails backbone.js coffeescript

我是Backbone的新手,我在将模型保存到数据库时遇到了问题。点击时,字段'profile'应该更新为'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的最新版本。有人可以帮忙吗?

(Chrome中的Javascript控制台注册了以下错误:“未捕获的TypeError:数字不是函数”)

1 个答案:

答案 0 :(得分:0)

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

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

其中最后一部分的解释如下:

get('id')

并且由于+返回一个数字,因此会出现“数字不是函数”错误。添加缺少的url: -> '/users/' + this.get('id') + '.json' 以获取字符串连接或使用CoffeeScript的插值:

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

{{1}}