Xem hủy bỏ xóa các phần tử được liên kết của nó trong đó xóa_all có thể xóa nhiều dữ liệu khỏi bảng tự nhưDELETE * FROM table where field = 'xyz'
: Tùy chọn có thể phụ thuộc:
Kiểm soát những gì xảy ra với các đối tượng liên quan khi chủ sở hữu của chúng bị phá hủy. Lưu ý rằng chúng được thực hiện dưới dạng gọi lại và Rails thực hiện các cuộc gọi lại theo thứ tự. Do đó, các cuộc gọi lại tương tự khác có thể ảnh hưởng đến: hành vi phụ thuộc và :dependent
hành vi có thể ảnh hưởng đến các cuộc gọi lại khác.
:destroy
làm cho tất cả các đối tượng liên quan cũng bị phá hủy.
:delete_all
làm cho tất cả các đối tượng liên quan bị xóa trực tiếp khỏi cơ sở dữ liệu (vì vậy các cuộc gọi lại sẽ không được thực thi).
:nullify
làm cho các khóa ngoại được đặt thành NULL. Cuộc gọi lại không được thực hiện.
:restrict_with_exception
gây ra một ngoại lệ được nêu ra nếu có bất kỳ hồ sơ liên quan.
:restrict_with_error
gây ra lỗi được thêm vào chủ sở hữu nếu có bất kỳ đối tượng liên quan.
Nếu sử dụng với :through
tùy chọn, liên kết trên mô hình tham gia phải là thuộc tính_to và các bản ghi bị xóa là các bản ghi liên kết, thay vì các bản ghi liên quan.