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
Teraz właśnie potrzebowałem dostać mój rubin foo do pary, dzięki czemu mogę iterować przez hash, dzięki czemu mogę wypuścić coś czystego. Dzięki za wskazówkę! – jlarry