0

Использование Backbone.js в качестве интерфейсного фреймворка для моего приложения Rails. Что касается моделей Rails, у меня есть модель публикации и модель статьи. Каждая публикация связана со многими статьями, и каждая статья принадлежит только одной публикации. Когда пользователь решает удалить публикацию, я хочу, чтобы все связанные статьи также были удалены. Когда я говорю «delete», я подразумеваю удаление из базы данных.Backbone.js, разрушающий подмножество коллекции

Следующий код работает в терминах удаления указанной публикации из базы данных, но не работает для удаления связанных статей:

// destroys the proper publication but still needs to update the view 
    delete_publication: function(id){ 
    var publication = new SimpleGoogleReader.Models.Publication({id: id}); 
    publication.fetch({ 
     success: function(x){ 
     } 
    }); 
    publication.destroy(); 

    var articles = new SimpleGoogleReader.Collections.Articles(); 
    articles.fetch({ 
     data: {publication_id: id}, 
     success: function(x){ 
     } 
    }); 
    articles.destroy(); 
    } 

}); 

Я также попытался переместить линию articles.destroy() внутри функции успеха но это тоже не сработало. Я могу ошибаться, но я думаю, что к моменту, когда я вызываю функцию .destroy() в статьях, я больше не работаю с объектом Collection. Я собираюсь сделать это неправильно? Я хочу, чтобы объект Collection просто не содержал каждую модель, только указанные.

Любые идеи?

ответ

0

Вы пытались удалить статьи первым:

// destroys the proper publication but still needs to update the view 
    delete_publication: function(id){ 

    var articles = new SimpleGoogleReader.Collections.Articles(); 
    articles.fetch({ 
     data: {publication_id: id}, 
     success: function(x){ 
     } 
    }); 
    articles.reset(); // empty the collection 
    articles.sync(); // persist the state of the collection to the server 

    var publication = new SimpleGoogleReader.Models.Publication({id: id}); 
    publication.fetch({ 
     success: function(x){ 
     } 
    }); 
    publication.destroy(); 
    } 

}); 
+0

я не пробовал. Вопрос: Я могу удалить статьи из коллекции, но как я могу обновить базу данных, чтобы отразить это изменение? – user2623706

+0

@ user2623706 Я обновил свой ответ –

+0

@ user2623706 Так оно работает? –

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