# Continue save after before\_update observer

**URL:** <https://www.ruby-forum.com/t/continue-save-after-before-update-observer/186090>\
**Category:** Rails\
**Created:** [March 31, 2010, 1:23pm UTC](https://www.ruby-forum.com/t/continue-save-after-before-update-observer/186090 "2010-03-31T13:23:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![builtbysimple](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/aca169/32.png) [@builtbysimple](https://www.ruby-forum.com/u/builtbysimple)\
**Post date:** [March 31, 2010, 1:23pm UTC](https://www.ruby-forum.com/t/continue-save-after-before-update-observer/186090/1 "2010-03-31T13:23:30Z")

</div>

Hi all,

I have a before\_update observer method. But after that method is  
finished, it doesn’t proceed to ActiveRecord’s save method. What do I  
need to write in my before\_update observer method to make it proceed  
to the ActiveRecord save method.

This is what I wrote but it caused stack level too deep error:

class FeatureObserver \< ActiveRecord::Observer  
def before\_update(feature)  
feature.send(:save)  
end  
end

Thanks in advance for your help.

Kind regards,  
Joshua

–  
[http://twitter.com/scrum8](http://twitter.com/scrum8)

---

<div class="post-metadata">

**Author:** ![builtbysimple](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/aca169/32.png) [@builtbysimple](https://www.ruby-forum.com/u/builtbysimple)\
**Post date:** [March 31, 2010, 7:43pm UTC](https://www.ruby-forum.com/t/continue-save-after-before-update-observer/186090/2 "2010-03-31T19:43:32Z")

</div>

On Wed, Mar 31, 2010 at 4:21 AM, Joshua P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> This is what I wrote but it caused stack level too deep error:
> 
> class FeatureObserver \< ActiveRecord::Observer  
> def before\_update(feature)  
> feature.send(:save)  
> end  
> end

:save precedes :update, so you’ve just created an infinite loop 🙂

Try creating before\_save, after\_save, after\_update methods in your  
observer with some `puts` logging statements, and run in a console,  
e.g.

> > feature.send(:update)  
> > feature.send(:save)  
> > and see what you get…

–  
Hassan S. ------------------------ removed\_email\_address@domain.invalid  
twitter: @hassan
