Chciałbym utworzyć funkcję zwrotną w railsach, która jest wykonywana po zapisaniu modelu.
Mam ten model, Claim, który ma atrybut „status”, który zmienia się w zależności od stanu roszczenia, możliwe wartości oczekują, zatwierdzone, zatwierdzone, odrzucone
Baza danych ma „stan” z domyślną wartością „oczekująca”.
Chciałbym wykonać określone zadania po utworzeniu modelu po raz pierwszy lub zaktualizowaniu go z jednego stanu do drugiego, w zależności od tego, z jakiego stanu się zmienia.
Mój pomysł to mieć funkcję w modelu:
after_save :check_state
def check_state
# if status changed from nil to pending (created)
do this
# if status changed from pending to approved
performthistask
end
Moje pytanie brzmi: jak sprawdzić poprzednią wartość przed zmianą w modelu?