1. Hàm *attr_previously_was là gì?
- Dirty là một class trong Rails, nó cung cấp những hàm để kiểm tra một object có sự thay đổi không hay lấy ra giá trị trước khi có sự thay đổi ở object đó.
- *attr_previously_was là một hàm để theo dõi sự thay đổi của một thuộc tính trong object.
2. So sánh *attr_previously_was với *attr_was
*attr_previously_was sẽ lưu giá trị trước khi bị thay đổi sau khi object được save thành công.
*attr_was sẽ lưu giá trị trước khi bị thay đổi khi object chưa được save.
Ví dụ trong ảnh sau:
*attr_was sẽ lưu giá trị trước khi bị thay đổi khi object chưa được save.
Ví dụ trong ảnh sau: