title: Rails.cache.fetch not caching object
body: <p>Hi I have a User model which </p>
  
  <pre><code>has_many :devices
  has_many :events, :through =&gt; :devices.
  </code></pre>
  
  <p>This has the following method:</p>
  
  <pre><code>def get_events_for_devices limit=nil
    events.limit limit
  end
  </code></pre>
  
  <p>Then I have a controller for users which I need to cache 500 events for each users device. Currently I am using the following call</p>
  
  <pre><code>user_requested = User.find(params[:id])
  
    profile_info = Rails.cache.fetch("#{user_requested.email}-profile-info") do 
      {:user =&gt; user_requested, :devices =&gt; user_requested.devices, :events =&gt; user_requested.get_events_for_devices(500)}
  </code></pre>
  
  <p>I am able to get back the :user and :devices from the cache, but not the :events - they just dont seem to be there.</p>
  
  <p>However, I am able to get the events if I don't use the Rails.cache, and simply call user_requested[:events].</p>
  
  <p>Any ideas on how I should proceed?
  Thanks!!</p>