我是否必须保存对模型集合中各个项目的修改,或者是否有一种方法可以在@R_147_301@时调用它来保存它们.
#save似乎没有这样做.例如:
irb> rental = #... #=> #<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"> irb> rental.dvd #=> #<Dvd id: 3252,title: "The Women of Summer",year: 1986,copies: 20,is_new: false,is_discontinued: false,list_price: #<BigDecimal:1a48f0c,'0.1599E2',8(8)>,sale_price: #<BigDecimal:1a48ed0,8(8)>> irb> rental.dvd.copies += 1 #=> 21 irb> rental.save #=> true irb> rental.dvd #=> #<Dvd id: 3252,copies: 21,list_price: #<BigDecimal:1a2e9cc,sale_price: #<BigDecimal:1a2e97c,8(8)>> irb> Dvd.find_by_title('The Women of Summer') #=> #<Dvd id: 3252,list_price: #<BigDecimal:1a30164,sale_price: #<BigDecimal:1a30128,8(8)>>
在上面的示例中,租借的DVD副本似乎没有更新DB中的副本(请注意不同的副本数).