В приложении RoR я хочу специализировать метод update_attributes () ActiveRecord в одной из моих моделей, извлекая некоторые атрибуты для специальной обработки и передавая остальные из них оригинальному методу update_attributes (). Подробности:
class Premise < ActiveRecord::Base
...
def update_attributes(attrs)
attrs.each_pair do |key, val|
unless has_attribute?(key)
do_special_processing(key, val)
attrs.delete(key)
end
end
# use original update_attributes() to process non-special pairs
super.update_attributes(attrs)
end
...
end
При вызове super.update_attributes (attr) возникает ошибка:
undefined method `update_attributes' for true:TrueClass
... что заставляет меня подозревать, что я действительно не понимаю ключевое слово super в Ruby. Что мне не хватает? В частности, как мне вызвать оригинальный метод update_attributes ()?