2011-08-15 8 views
10

Próbuję znaleźć sposób rejestrowania zmian, gdy ktoś zaktualizuje obiekt. Teraz mój obserwator zapisuje wszystkie bieżące wartości, ale jestem zagubiony, jak ustalić, które zmienione pola i jak je przechowywać w moim pliku danych db.Zmiany w polu śledzenia przy obserwatorach szyn

Dla uproszczenia przykładowy model i obserwator. Moim celem jest śledzenie, które pole zostało zaktualizowane i zapisać je w mojej db db. Jestem otwarty na dodawanie nowych pól do mojej bazy danych, jeśli są potrzebne. Daj mi znać, jeśli masz jakieś pytania.

model

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

Obserwator śledzenia zmiana

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 

Odpowiedz

Powiązane problemy