This seems to be an inconsistency between has_many and has_one.
The has_many association allows you to specify an after_add callback that is called after an object has been added to the collection.
class Person
has_many :parents, :after_add => { puts "Added new parent" } # allowed
has_one :car, :after_add => { puts "Added car" } # not allowed
end
class Car
after_create :assign_name
def assign_name
self.name = "Herbie"
end
end
Unfortunately, there isn't an after_add callback for the has_one association. How do you achieve the same thing for a has_one?