Rails: independent => destroy, хочу вызвать другое действие вместо destroy

У меня есть модель has_many: through, которая отлично работает.

  has_many :varietals
  has_many :grapes, :through => :varietals, :dependent => :destroy

Я хотел бы вызвать другое действие вместо: destroy. Фактически, я не хочу обнулять элемент ИЛИ уничтожать его, я хочу обновить поле статуса записи с 1 до 0 вместо уничтожения записи.

Как вызвать собственный метод вместо уничтожения? Полагаю, я могу сделать это в самой модели ... Спасибо.

Где поставить этот метод? В главной модели или в модели, в которой запись будет уничтожена?

РЕДАКТИРОВАТЬ :

Извините, но я думаю, что недостаточно объяснил свою проблему. Моя проблема не только в том, что что-то после того, как эталонная модель разрушена. Я хочу настроить действие уничтожения в самой модели Varietal, даже если основная запись не уничтожена.

Что-то вроде:

class Varietal < ActiveRecord::Base

    private
      def destroy
        self.update_attributes(:status => 0)
      end
end

На самом деле это действие не вызывается ...

5
задан alex.bour 17 February 2012 в 12:41
поделиться