http://railsapi.masuidrive.jp/module/ActiveRecord::Associations::ClassMethods/has_many
:dependent - if set to :destroy all the associated objects are destroyed alongside
this object by calling their destroy method.
¤Ä¤Þ¤ê¡¢
class foo < ActiveRecord::Base
has_many :bar, :dependent => :destory
has_many :bar, :dependent => :destroy
end
¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¡¢foo¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òdestory¤¹¤ë¤È¡¢bar¤Îdestory¤â¸Æ¤Ó½Ð¤µ¤ì¤ë¤½¤¦¤Ç¤¹¡£
¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¡¢foo¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òdestroy¤¹¤ë¤È¡¢bar¤Îdestroy¤â¸Æ¤Ó½Ð¤µ¤ì¤ë¤½¤¦¤Ç¤¹¡£
If set to :delete_all all associated objects are deleted without calling their
destroy method.
¤Ä¤Þ¤ê¡¢
class foo < ActiveRecord::Base
has_many :bar, :dependent => :delete_all
end
¤À¤È¡¢foo¤òdestory¤¹¤ë¤È¡¢bar¤Îdestory¤ò¸Æ¤Ó½Ð¤µ¤º¤Ëdelete¤µ¤ì¤ë¤½¤¦¤Ç¤¹¡£
¤À¤È¡¢foo¤òdestroy¤¹¤ë¤È¡¢bar¤Îdestroy¤ò¸Æ¤Ó½Ð¤µ¤º¤Ëdelete¤µ¤ì¤ë¤½¤¦¤Ç¤¹¡£
If set to :nullify all associated objects¡Ç foreign keys are set to NULL without
calling their save callbacks.
¤Ä¤Þ¤ê¡¢
class foo < ActiveRecord::Base
has_many :bar, :dependent => :nullify
end
¤À¤È¡¢foo¤òdestory¤¹¤ë¤È¡¢bar¤Îsave¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ê¤¯¡¢bar¤Îfoo¤Ø¤Îforeign key¤ò NULL
¤À¤È¡¢foo¤òdestroy¤¹¤ë¤È¡¢bar¤Îsave¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ê¤¯¡¢bar¤Îfoo¤Ø¤Îforeign key¤ò NULL
¤Ë¥»¥Ã¥È¤¹¤ë¤é¤·¤¤¤Ç¤¹¡£
NULL²Ä¤Ê¤ê¥ì¡¼¥·¥ç¥ó¤Î»þ¤ÎÂнè¤Ç¤¹¤Í¡£
NOTE: :dependent => true is deprecated and has been replaced with :dependent => :destroy.
¡§dependent => true¤Ï¡¡¡§dependent => ¡§destory¤ÈƱ¤¸¡£
¡§dependent => true¤Ï¡¡¡§dependent => ¡§destroy¤ÈƱ¤¸¡£
#blikifooter(»ÖÅÄ)
tag: [[Ruby on Rails>tag/Ruby on Rails]]