title: Rails 3 "last" method is returning incorrect result from ActiveRecord output
body: <p>I've got the following code in my controller:</p>
  
  <pre><code>@items = Item.where(:user_id =&gt; 1).order("updated_at DESC").limit(2)
  @oldest_item = @items.last
  </code></pre>
  
  <p>For some reason, and I'm guessing this has to do with my recent upgrade to Rails 3, @oldest_item is not being set to the last item in @items, but is instead being set to the last item that matches <code>Item.where(:user_id =&gt; 1).order("updated_at DESC")</code>.</p>
  
  <p>So imagine there are 3 items that match, A, B, and C. @items is being set to [A, B], and then @oldest_item is being set to C.</p>
  
  <p>Oddly, when I call <code>@items.last</code> from within my view, it is properly returning B.</p>
  
  <p>When I paste in the two lines from my controller into the console, it also properly returns B.</p>
  
  <p>Can someone explain to me what the heck is going on here?</p>