I have 3 models, Clients, has many Projects, has many Jobs.
When you create a client or a project there are ActiveRecord Callbacks to create a default project or default job. Since this is done from the model level the cache does not expire.
I am using action caching.
Use a sweeper to observe the models and expire the cache appropriately.