In short you can do something like this by using the dependent
option on your assoication. Can use either:
:destroy - destroys every associated object calling their destroy method.
:delete_all - deletes every associated object without calling their destroy method.
Update
Taking your models into consideration you should do the following:
class Vendor < ActiveRecord::Base
has_many :locations, dependent: :destroy
has_many :clients, dependent: :destroy
has_many :campaigns, dependent: :destroy
end
As stated above using the destroy option will destroy every associated object with that vendor.