title: Rails/ActiveRecord: save changes to a model's associated collections
body: <p>Do I have to save modifications to individual items in a collection for a model, or is there a method I can call to save them when I save the model.</p>
  
  <p><code>#save</code> doesn't seem to do it.  For example:</p>
  
  <pre><code>irb&gt; rental = #...
  #=&gt; #&lt;Rental id: 18737, customer_id: 61, dvd_id: 3252, date_rented: "2008-12-16 05:00:00", date_shipped: "2008-12-16 05:00:00", date_returned: "2008-12-22 05:00:00"&gt;
  irb&gt; rental.dvd
  #=&gt; #&lt;Dvd id: 3252, title: "The Women of Summer", year: 1986, copies: 20, is_new: false, is_discontinued: false, list_price: #&lt;BigDecimal:1a48f0c,'0.1599E2',8(8)&gt;, sale_price: #&lt;BigDecimal:1a48ed0,'0.1599E2',8(8)&gt;&gt;
  irb&gt; rental.dvd.copies += 1
  #=&gt; 21
  irb&gt; rental.save
  #=&gt; true
  irb&gt; rental.dvd
  #=&gt; #&lt;Dvd id: 3252, title: "The Women of Summer", year: 1986, copies: 21, is_new: false, is_discontinued: false, list_price: #&lt;BigDecimal:1a2e9cc,'0.1599E2',8(8)&gt;, sale_price: #&lt;BigDecimal:1a2e97c,'0.1599E2',8(8)&gt;&gt;
  irb&gt; Dvd.find_by_title('The Women of Summer')
  #=&gt; #&lt;Dvd id: 3252, title: "The Women of Summer", year: 1986, copies: 20, is_new: false, is_discontinued: false, list_price: #&lt;BigDecimal:1a30164,'0.1599E2',8(8)&gt;, sale_price: #&lt;BigDecimal:1a30128,'0.1599E2',8(8)&gt;&gt;
  </code></pre>
  
  <p>In the above example, the copy of the DVD that the rental has doesn't seem to update the copy in the DB (note the differing number of copies).</p>