2012-01-10 36 views
5

Trong một số nơi, tôi đã nhìn thấy tuyên bố rằng trọng ActiveRecord :: Base.initialize là sai bởi vì nó có thể không luôn luôn được gọi là:Tại sao ghi đè ActiveRecord :: Base.initialize sai?

Với không bao giờ phiên bản của ActiveRecord (3.0+), điều này vẫn đúng? Nếu vậy, cụ thể là những trường hợp mà theo đó nó không được gọi là khi người ta có thể mong đợi rằng nó sẽ được?

+1

Có thể tốt hơn nên chuyển câu hỏi này xung quanh: Tại sao bạn cảm thấy cần phải ghi đè Base.initialize? – Martijn

Trả lời

2

Nó không phải là nó sẽ không được gọi, đó là đã có một initialize, trong ActiveRecord::Base.

Có thể bạn gọi super? Có lẽ, có lẽ, nói chung. Các phiên bản Across Rails, bao gồm cả các phiên bản tương lai? Trả lời không rõ ràng, hãy thử lại. Không thể dự đoán bây giờ. Hỏi lại sau. Magic 8-Ball không bị thuyết phục.

Có một cuộc gọi lại khởi tạo để bạn không cần và không bị cám dỗ.

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