Coffeescript Spine.js AJAX从服务器获取记录

Coffeescript Spine.js AJAX从服务器获取记录,coffeescript,spine.js,Coffeescript,Spine.js,我有一个简单的应用程序,它可以显示重新记录的列表,用户也可以通过id编辑Bartical记录。 因为列表很大,所以我并没有完整地获取它,而是部分地通过Product.fetch(数据:$.param(第1页))获取它 然后,当有人试图编辑记录时,我调用Product.find(id),如果已使用fetch预取了record,则它可以正常工作,但当记录尚未获取时,我会出现如下错误:“Product”model无法找到id为“1152”的记录 所以,问题是为什么find不执行ajax调用,以及如何让

我有一个简单的应用程序,它可以显示重新记录的列表,用户也可以通过id编辑Bartical记录。 因为列表很大,所以我并没有完整地获取它,而是部分地通过
Product.fetch(数据:$.param(第1页))
获取它

然后,当有人试图编辑记录时,我调用
Product.find(id)
,如果已使用
fetch
预取了record,则它可以正常工作,但当记录尚未获取时,我会出现如下错误:
“Product”model无法找到id为“1152”的记录


所以,问题是为什么
find
不执行ajax调用,以及如何让它执行它,或者可能存在另一种解决方案?

Spine.find
只查看已加载的记录。执行ajax请求不是
find
的功能。因此,您必须尝试捕获您的发现,当它出现此错误时,您必须获取它

id = 1152

try
  product = Product.find id
catch err
  Product.fetch(
    data:
     id: id
    processData: true
  )
  # Try again after Product.refresh

老实说,我认为这是一个愚蠢的方法,但它是如何脊椎工程。。。我宁愿让它自动获取它,或者至少不在查找时抛出错误。

Spine.find
只查找已加载的记录。执行ajax请求不是
find
的功能。因此,您必须尝试捕获您的发现,当它出现此错误时,您必须获取它

id = 1152

try
  product = Product.find id
catch err
  Product.fetch(
    data:
     id: id
    processData: true
  )
  # Try again after Product.refresh

老实说,我认为这是一个愚蠢的方法,但它是如何脊椎工程。。。我宁愿让它自动获取,或者至少不要在查找时抛出错误。

我们正在努力改进Spines的查找和存在功能。不再抛出错误并允许find接受失败条件的回调。是的,我在github存储库中看到了这一点。我真的很高兴这会改变。感谢您为Spine所做的所有工作。我们正在努力改进Spine查找和存在功能。不再抛出错误并允许find接受失败条件的回调。是的,我在github存储库中看到了这一点。我真的很高兴这会改变。谢谢你为我所做的一切。