From 910f7aab50321b2a8b347864782d8dc4f09915d8 Mon Sep 17 00:00:00 2001 From: Aditya Sanghi Date: Sat, 18 Feb 2012 11:38:30 +0530 Subject: Add a note about :dependent => :restrict on has_one and has_many's options --- railties/guides/source/association_basics.textile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'railties/guides/source') diff --git a/railties/guides/source/association_basics.textile b/railties/guides/source/association_basics.textile index a55ed38d1b..a01c24bf74 100644 --- a/railties/guides/source/association_basics.textile +++ b/railties/guides/source/association_basics.textile @@ -899,6 +899,7 @@ end h6(#has_one-dependent). +:dependent+ If you set the +:dependent+ option to +:destroy+, then deleting this object will call the +destroy+ method on the associated object to delete that object. If you set the +:dependent+ option to +:delete+, then deleting this object will delete the associated object _without_ calling its +destroy+ method. If you set the +:dependent+ option to +:nullify+, then deleting this object will set the foreign key in the association object to +NULL+. +If you set the +:dependent+ option to +:restrict+, then the deletion of the object is restricted if a dependent associated object exist and an error is added to the base model. h6(#has_one-foreign_key). +:foreign_key+ @@ -1247,6 +1248,7 @@ NOTE: If you specify +:finder_sql+ but not +:counter_sql+, then the counter SQL h6(#has_many-dependent). +:dependent+ If you set the +:dependent+ option to +:destroy+, then deleting this object will call the +destroy+ method on the associated objects to delete those objects. If you set the +:dependent+ option to +:delete_all+, then deleting this object will delete the associated objects _without_ calling their +destroy+ method. If you set the +:dependent+ option to +:nullify+, then deleting this object will set the foreign key in the associated objects to +NULL+. +If you set the +:dependent+ option to +:restrict+, then the deletion of the object is restricted if any dependent associated objects exist and an error is added to the base model. NOTE: This option is ignored when you use the +:through+ option on the association. -- cgit v1.2.3