当我创建并 .save() 一个新记录时,我的 Spine.js 模型向服务器发送一个 POST 请求以将其添加到数据库中。没什么大不了的......但是当我向同一个模型实例发出另一个 .save() 时,我希望 Spine.js 发送一个 PUT 请求只是更新它的数据。
我怎样才能做到这一点?
这就是我的模型的样子:
class App.MeetingMinutes extends Spine.Model
@configure 'MeetingMinutes', 'subject', 'some', 'more', 'attributes'
@belongsTo 'archive', 'Archive'
@extend Spine.Model.Ajax
@url: '#' # only dynamically scoped from Entries controller
@setArchive: ( _id ) ->
@url = '/archives/' + _id + '/meeting_minutes'
(将 id 列添加到 @configure 也不起作用)
在我的 Rails 控制器(创建操作)中,我将整个对象作为 JSON 返回
format.json { render :json => @meeting_minutes, :status => :created }
这就是我正在使用的:
mm = new App.MeetingMinutes({subject: 'subject'})
mm.save() // POST
mm.subject = 'changed subject!'
mm.save() // another POST
mm.isNew() // true (obviously :/)
有任何想法吗?