2012-05-01 42 views
20

Bạn có thể xóa mô hình theo id không? Tài liệu nói rằng bạn cần phải vượt qua trong chính mô hình để xóa nó.Xóa mô hình xương sống theo id?

Vì vậy, tôi cần tìm nạp mô hình trước và sau đó xóa mô hình đó? Tôi không thể loại bỏ nó bằng id?

Trả lời

26

Bạn có nghĩa là xóa mô hình khỏi bộ sưu tập không? Nhìn vào các tài liệu, có vẻ như bạn cần phải vượt qua một mô hình thực, nhưng mã nguồn gợi ý rằng bạn chỉ có thể chuyển vào một trong hai mô hình id hoặc mô hình cid và tất cả những điều trên sẽ hoạt động (cũng như như mảng của tất cả các bên trên).

Vì vậy, tất cả những điều sau đây sẽ tương đương:

collection.remove(myModel); 
collection.remove(myModel.id); 
collection.remove(myModel.cid); 
collection.remove([myModel]); 

tôi đã không kiểm tra này, tuy nhiên.

+0

ah, ok, nhờ mát mẻ cho các thông tin – fancy

+3

Yep, nhìn vào nguồn v1.0.0 Backbone, phương thức remove() chức năng đầu tiên được mô hình từ bộ sưu tập bằng cách sử dụng get() chức năng, mà chấp nhận một mô hình, id hoặc cid. – jackocnr

+1

Tôi càng sử dụng nó, tôi càng thấy rằng xương sống kém tài liệu. –

1

Chỉ cần tình cờ khi đăng bài này (không hỏi tôi làm thế nào), ID của model là theo mặc định một cái gì đó như c1 hoặc c23. Nếu bạn muốn loại bỏ một mô hình bằng ID từ bộ sưu tập, sau đó bạn chỉ đơn giản là lấy mô hình từ bộ sưu tập sử dụng:

myCollection.get('c1');

này sẽ trở lại với mô hình với ID c1, nếu bạn muốn ngay lập tức loại bỏ nó, bạn chỉ cần truyền mô hình trả về cho các hàm remove().

myCollection.remove(myCollection.get('c1'));

+1

Lưu ý rằng "mặc định" được thảo luận ở đây là 'cid', không phải là' id'. Mô hình không có id theo mặc định. – nrabinowitz

Các vấn đề liên quan