Dirty hàm *attr_previously_was

Đăng bởi Lưu Đại vào ngày 04-01-2023

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:
Ví dụ về sự khác nhau giữa *_previously_was và *_was