Cách duy nhất để xác định cuộc gọi lại cho các sự kiện after_find và after_initialize là xác định chúng dưới dạng phương thức. Nếu bạn cố gắng tuyên bố họ là những người xử lý bằng kỹ thuật thứ hai, họ sẽ bị bỏ qua một cách thầm lặng.Tại sao gọi lại cho các sự kiện after_find và after_initialize là xác định chúng dưới dạng phương thức?
Ai đó có thể giải thích tại sao lại như vậy?
Tại sao cụ thể cho hai cuộc gọi lại này?
EDIT
Từ cuốn sách: - Rails có sử dụng tion reflec- để xác định xem có callbacks được gọi. Khi thực hiện các hoạt động cơ sở dữ liệu thực, chi phí thực hiện điều này thường không đáng kể so với chi phí cơ sở dữ liệu. Tuy nhiên, một câu lệnh chọn cơ sở dữ liệu duy nhất có thể trả về hàng trăm hàng và cả hai cuộc gọi lại sẽ phải được gọi cho mỗi hàng. Điều này làm chậm truy vấn xuống đáng kể. Nhóm Rails quyết định rằng hiệu suất vượt trội nhất quán trong trường hợp này. Cái quái gì ... !!!! Thats tất cả .. Chỉ cần đây là lời giải thích ... !!!
Yaa i book i m sử dụng như giải thích refrence cho rằng có: - Rails phải sử dụng phản xạ để xác định xem có callback được gọi. Khi thực hiện các hoạt động cơ sở dữ liệu thực, chi phí thực hiện điều này thường không đáng kể so với chi phí cơ sở dữ liệu. Tuy nhiên, một câu lệnh chọn cơ sở dữ liệu duy nhất có thể trả về hàng trăm hàng và cả hai cuộc gọi lại sẽ phải được gọi cho mỗi hàng. Điều này làm chậm truy vấn xuống đáng kể. Nhóm Rails quyết định rằng hiệu suất vượt trội nhất quán trong trường hợp này. Cái quái gì ... !!!! –