has_many sử dụng chiến lược: nullify, sẽ đặt nước ngoài thành null. Đối với has_many: thông qua nó sẽ sử dụng delete_all.
Đối với has_many, phá hủy sẽ luôn gọi phương thức hủy của bản ghi đang được xóa để các cuộc gọi lại được chạy. Tuy nhiên, xóa sẽ thực hiện xóa theo chiến lược được chỉ định bởi tùy chọn : phụ thuộc hoặc nếu không: tùy chọn phụ thuộc được cung cấp, sau đó nó sẽ làm theo chiến lược mặc định. Chiến lược mặc định là: nullify (đặt khóa ngoài thành 0), ngoại trừ has_many: thông qua, trong đó chiến lược mặc định là delete_all (xóa bản ghi tham gia, mà không cần chạy các cuộc gọi lại ).
- ActiveRecord::Associations::ClassMethods
Không chắc chính xác những gì belongs_to làm, và đã không thể tìm thấy bất cứ điều gì trong tài liệu. Tôi sẽ cố gắng đào sớm và cập nhật câu trả lời.
Nguồn
2013-05-02 02:37:31
nếu bạn không xác định này, bạn sẽ kết thúc với trẻ em bị bỏ rơi khóc cho cha mẹ.Đó không phải là một vấn đề lớn nhưng nó giữ db của bạn đầy (vô dụng) dữ liệu – apneadiving