Проверьте, была ли модель изменена или создана для события before_save - PullRequest
6 голосов
/ 26 декабря 2011

Я хочу проверить, создается ли модель в обратном вызове before_save в Rails.Я также хочу проверить, был ли он изменен (при обновлении).

Спасибо

1 Ответ

11 голосов
/ 26 декабря 2011

Вы можете использовать new_record?, чтобы увидеть, есть ли у вас новый объект, и changed?, чтобы увидеть, изменилось ли что-либо:

before_save :pancakes

def pancakes
    if new_record?
        # Not in the database yet.
    elsif changed?
        # Already exists but it has unsaved changes.
    end
end
...