Я бы хотел определить after_filter
для восстановления изменений моего before_filter
, чтобы сделанные изменения влияли только на это одно действие в моем контроллере. Вот что у меня есть:
before_filter :exclude_root_in_json
after_filter :restore_root_in_json
def exclude_root_in_json
ActiveRecord::Base.include_root_in_json = false
end
def resotre_root_in_json
ActiveRecord::Base.include_root_in_json = true
end
Есть ли способ сделать что-то вроде следующего?
def exclude_root_in_json
default = ActiveRecord::Base.include_root_in_json
ActiveRecord::Base.include_root_in_json = false
self.class.after_filter do
ActiveRecord::Base.include_root_in_json = default
end
end
Мой конечный результат - завершить вызовом before_filter
, который автоматически отменяет изменения для этого конкретного действия после его завершения. Как бы я это сделал?