当使用backbone.js和rails 3.0.7(以及coffeescript)创建模型时,我遇到了一些奇怪的行为。骨干模型/集合的奇怪行为,如何从新创建的模型中获取id?
我创建
@model = @collection.create
param : a_param
param : another_param
模型这样可以节省到轨罚款和返回的对象是什么,我希望(当我CONSOLE.LOG @model它返回一个ID,CID,属性的正确寻找骨干模型...等等)。
当我console.log @ model.id它返回undefined(即使它在console.log @model中)。
当我console.log @collection它返回所需的集合,但是当我console.log @ collection.models它返回一个空的数组。
当我通过JSON加载@collection在(导轨)页:
(json_from_the_page : #{@collection.to_json})
@collection = new CollectionName()
@collection.reset options.json_from_the_page
和执行console.log @ collection.models一切正常,所以它必须是与保存到服务器?
任何想法或地点,我应该看看骨干代码进一步调试?
此外,我可以访问model.attributes.a_param_i_saved,但不是@ model.attributes.id,它在我登录model.attributes时出现。 – Allansideas
更进一步,如果我在model.save()的成功中设置它,那么它返回的ID很好,所以在服务器有机会返回之前它必须与原始创建运行后的代码有关正确的ID? – Allansideas
确保使用浏览器调试器查看变量的状态(可以使用'debugger;'在代码中设置断点)。我发现console.log经常显示变量的未来状态,并且可能会使调试变得困难。 – idbentley