Tôi cóRails, xoá trẻ em, không xóa Chánh sử dụng: has_many
class MyContainer < ActiveRecord::Base
:has_many MyObjects, :dependent => :destroy
end
Tôi muốn xóa tất cả các MyObjects
trong container mà không cần phải xóa các MyContainer
. Mô hình của tôi có :dependent => :destroy
, tuy nhiên tôi không muốn phải xóa và tạo lại đối tượng vì nó chậm hơn.
Something như thế này không hoạt động:
@obj = MyContainer.find_by_id(10)
@obj.my_objects.delete_all
Làm thế nào tôi có thể thực hiện điều này?
Sử dụng giải pháp sau sẽ tải từng đối tượng vào bộ nhớ và chậm. Có lẽ muốn đi với giải pháp đầu tiên. – Kosmonaut
Cả hai đều khởi tạo từng đối tượng vào bộ nhớ. –