ruby on rails - Difference between :destroy and :delete for :dependent in has_one association -
this question has answer here:
- difference between destroy , delete 5 answers
in rails document active record associations, first 2 values of :dependent
has_one
are:
4.2.2.4 :dependent controls happens associated object when owner destroyed: :destroy causes associated object destroyed :delete causes associated object deleted directly database (so callbacks not execute)
my understanding :destroy
example, customer
has_one
address
. :dependent => :destroy
, if customer
deleted, address
deleted automatically database after customer
deleted database , use :destroy
. what's use of :delete
?
both same, said almost, because:
dependent: :destroy - calls callbacks (before_destroy, after_destroy) in associated objects, , you're able break transactions (raise error in callback).
dependent: :delete - doesn't call callbacks (it removes object directly database sql delete ... ...)
Comments
Post a Comment