<< does it force a save?

my tests seem to imply that << forces an insert of the parent and child records in a has_many relationship when both are newly created objects.

for example,

Controller code:

xy=XY.new pc=PC.new xy.addPC(pc)

Model code:

Class XY < ActiveRecord....   def addPC(pc)     self.controls<<pc   end end

where XY has a "has_many" association with PC and PC has a "belongs_to" XY

I note that two INSERTs are performed into the tables behind PC and XY models as a result of the call to addPC() but I'm not issuing a .save anywhere in my code.

Is this normal behaviour?

Found the answer in the Rails API site:     * Adding an object to a collection (has_many or has_and_belongs_to_many) automatically saves that object, except if the parent object (the owner of the collection) is not yet stored in the database.

In my case the parent object (xy) had been saved through another association :slight_smile: thus causing an automatic save of the pc object.