2013-04-03 4 views
1

У меня есть простое приложение, которое отображает список реклов, а также пользователь может редактировать бартикулярную запись по id. Потому что список большой, я не получаю его целиком, но частично через Product.fetch(data: $.param(page: 1)).Spine.js AJAX выборка записи с сервера

Затем, когда кто-то попытается изменить запись, я называю Product.find(id) и если recrord уже упреждением с fetch то он работает отлично, но когда запись не извлекается, то я получил ошибку как: "Product" model could not find a record for the ID "1152"

Таким образом, речь идет почему find не выполняет вызов ajax и как его выполнить, или, возможно, существует другое решение?

ответ

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 

Честно говоря, я думаю, что это глупый способ сделать это, но это то, как работает позвоночник ... Я предпочел бы его забрать его автоматически, или по крайней мере не бросает ошибку на находку.

+3

Мы работаем над улучшением поиска и существующих функций Spines. больше не нужно бросать ошибки и позволять находить принимать обратный вызов для состояния сбоя. – aeischeid

+0

Да, я видел это в репозитории github. Я действительно счастлив, что это изменится. Спасибо за всю работу, которую вы поставили в Spine. – Michiel

Смежные вопросы