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.
#save
You have to do this yourself
This isnt entirely true. You can use the "build" method which will force a save. For the sake of example assume that you have a Company model and Employees (Company has_many Employees). You could do something like:
acme = Company.new({:name => "Acme, Inc"})
acme.employees.build({:first_name => "John"})
acme.employees.build({:first_name => "Mary"})
acme.employees.build({:first_name => "Sue"})
acme.save
Would create all 4 records, the Company record and the 3 Employee records and the company_id would be pushed down to the Employee object appropriately.