Tôi có một quá trình lặp qua một loạt các mô hình ActiveRecord, thực hiện một số xử lý và lưu lại mô hình. Thông thường, quá trình xử lý không dẫn đến thay đổi các thuộc tính và do đó cột updated_at
không bao giờ thay đổi (mặc dù lưu được gọi)."Chạm vào" cột updated_at trong Rails 2.3.2
Tôi không muốn tắt cập nhật một phần (nói chung, chúng hữu ích). Tôi đoán rằng hai lựa chọn của tôi là:
- Thêm một cột timestamp riêng biệt với mô hình (ví dụ: '
processed_at
') và quản lý này bản thân mình, mặc dù điều này có vẻ hơi lãng phí/không cần thiết. - Hoặc bằng cách nào đó, hãy ghi đè quyền quản lý thuộc tính
updated_at
?
Tôi đã nghe nói rằng Rails 3 sẽ có phương pháp 'chạm' chính xác những gì tôi đang tìm kiếm.
Bất kỳ ý tưởng/tùy chọn/ý kiến nào?
Wow! Bạn đúng. Bài học kinh nghiệm, không tin mọi thứ bạn đọc trong một bài đăng trên blog (http://ryandaigle.com/articles/2009/4/20/what-s-new-in-edge-rails-touching), chỉ cần đi thẳng đến nguồn (http://github.com/rails/rails/blob/0d3c5f0a822cd1b6029b5f619774b7794a94f370/activerecord/lib/active_record/timestamp.rb#L27) – ideasasylum
Tôi nghĩ DHH có thể đã đề cập đến nó trên Twitter - đó là cách tôi biết về nó. –
Grrr ... có vẻ như hỗ trợ cảm ứng vừa bị bỏ qua bản phát hành 2.3.2 và chỉ nằm trong nhánh 2.3-STABLE. Không có mốc quan trọng 2.3.3 nhưng 2.3.4 được liệt kê là ngày 18 tháng 7. Tôi đoán tôi sẽ phải đợi :-( – ideasasylum