1

我有一个简单的应用程序,它显示记录列表,用户也可以通过 id 编辑 barticular 记录。因为列表很大,所以我不会全部获取,而是部分通过Product.fetch(data: $.param(page: 1)).

然后,当有人尝试编辑记录时,我打电话Product.find(id),如果已经预取了记录,fetch那么它工作正常,但是当尚未获取记录时,我收到如下错误:"Product" model could not find a record for the ID "1152"

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

4

1 回答 1

1

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

老实说,我认为这不是一个好方法,但它是脊椎的工作原理......我宁愿让它自动获取它,或者至少不会在查找时抛出错误。

于 2013-04-03T14:54:47.257 回答