Browse files

Add a note about :dependent => :restrict on has_one and has_many's op…

…tions
  • Loading branch information...
1 parent 3720d5e commit 910f7aab50321b2a8b347864782d8dc4f09915d8 @asanghi asanghi committed Feb 18, 2012
Showing with 2 additions and 0 deletions.
  1. +2 −0 railties/guides/source/association_basics.textile
View
2 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.

0 comments on commit 910f7aa

Please sign in to comment.