Как получить изменения переходных атрибутов в моделях, отслеживаемых ActiveRecords? - PullRequest
3 голосов
/ 20 июня 2011

Предполагается, что модель с непереходным атрибутом a и переходным атрибутом b :

class Model < ActiveRecord::Base
  attr_accessor :b
end

Я хочу, чтобы Rails отслеживал изменения атрибутов обоихатрибутов.В настоящее время model.changes отслеживает только изменения атрибута a.

Что я пробовал до сих пор:

Использование ActiveModel :: Dirty методы:

include ActiveRecord::AttributeMethods::Dirty

class Model < ActiveRecord::Base

  attr_accessor :b

  define_attribute_methods [:b]

  def b
     @b
  end

  def b=(val)
     b_will_change! unless val == @b
     @b = val
  end
end

К сожалению, Rails не нравится и выдает ошибку TypeError.

Есть какие-нибудь идеи, как это сделать?

1 Ответ

0 голосов
/ 19 августа 2011

По определению, непостоянная переменная является либо нулевой, либо грязной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...