2011-08-15 26 views
10

Tôi đang cố gắng tìm ra cách để ghi lại các thay đổi khi ai đó cập nhật một đối tượng. Ngay bây giờ người quan sát của tôi sẽ lưu trữ tất cả các giá trị hiện tại nhưng tôi bị mất về cách xác định trường nào đã thay đổi và cách lưu trữ chúng trong db nguồn cấp dữ liệu của tôi.Thay đổi trường theo dõi với các nhà quan sát đường ray

Vì mục đích đơn giản ở đây là mẫu và người quan sát mẫu. Mục tiêu của tôi là theo dõi trường nào đã được cập nhật và lưu trữ nó trong db nguồn cấp dữ liệu của tôi. Tôi đang mở để thêm các trường mới vào db của tôi nếu chúng là cần thiết. Hãy cho tôi biết nếu bạn có bất kỳ câu hỏi.

Mẫu

# Table name: milestones 
# 
# id   :integer   not null, primary key 
# name   :string(255) 
# project_id :integer 
# target_date :datetime 

Observer theo dõi sự thay đổi

class MilestoneObserver < ActiveRecord::Observer 

    def after_update(milestone) 
     f = Feed.new(
      :action => milestone.name, 
      :project_id => milestone.project_id, 
      :updated_by_id => "Jordan") 
     f.save 
    end 
end 

Trả lời

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