Вот моя модель AR:
class MyObject < ActiveRecord::Base
include ContentSyntax # where parse_out_variables is defined
serialize :variables
def save
self.variables = ContentSyntax.parse_out_variables(self.body)
super
end
end
сейчас, в моем приложении, я делаю
my_object.update_attributes (PARAMS)
, который работал нормально, прежде чем я попытался продлить сохранение.
Я получаю следующую ошибку:
TypeError (class or module required):
app/models/my_object.rb:64:in `save'
Но я хочу, чтобы этот код выполнялся каждый раз, когда объект сохраняется. (Или если бы изменился только один атрибут («тело»), это было бы лучше)
Как правильно это сделать?
EDIT:
с использованием обратного вызова before_save:
before_save {
self.variables = ContentSyntax.parse_out_variables(self.body)
}
У меня теперь ошибка:
NoMethodError (undefined method `body' for #<Class:0x10a0866b8>):
но ... оно существует!