Observers will be no more as of Rails 4, farewell, never been much of a fan. However, I'm using it in one of my gems which enables model attributes for use with a WYSIWYM editor. The resulting markup is persisted, but in order to use it in a view, it has to be nokogiried in a helper which fragment caches the result. This cache has to be zapped once the model instance is either updated or destroyed. An observer for after_update and after_destroy seemed the obvious choice at that time. What would be a Rails 4 approach for this without observers? Inject after_update and after_destroy callbacks directly into the model? -sven
on 2012-12-06 08:48
on 2012-12-06 08:56
If you want to maintain separation you could add after_update and after_destroy callbacks that only send a message using ActiveSupport:notifications. You then write a subscriber to that notification which zaps the cache. Same result, but instead of observing, it listens. It also makes it explicit in your model code that after update and destroy a message is sent into the system which may be acted upon.
on 2012-12-06 21:00
> Same result, but instead of observing, it listens. It also makes it > explicit in your model code that after update and destroy a message is > sent into the system which may be acted upon. > > Nice! Thanks a lot for the hint! -sven
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.