Permalink
Browse files

Clarified the difference between `:foreign_key` and `:association_for…

…eign_key` options in HABTM association
  • Loading branch information...
1 parent 231069e commit c20e291b955f81ea21ea9eb72930790efc3f94bf @karmi karmi committed Jan 23, 2009
Showing with 7 additions and 5 deletions.
  1. +7 −5 activerecord/lib/active_record/associations.rb
View
12 activerecord/lib/active_record/associations.rb
@@ -1149,13 +1149,15 @@ def belongs_to(association_id, options = {})
# <b>WARNING:</b> If you're overwriting the table name of either class, the +table_name+ method
# MUST be declared underneath any +has_and_belongs_to_many+ declaration in order to work.
# [:foreign_key]
- # Specify the foreign key used for the association. By default this is guessed to be the name
- # of this class in lower-case and "_id" suffixed. So a Person class that makes a +has_and_belongs_to_many+ association
+ # Specify the foreign key used for the association (on "this side" of association).
+ # By default this is guessed to be the name of this class in lower-case and "_id" suffixed.
+ # So a Person class that makes a +has_and_belongs_to_many+ association to Project
# will use "person_id" as the default <tt>:foreign_key</tt>.
# [:association_foreign_key]
- # Specify the association foreign key used for the association. By default this is
- # guessed to be the name of the associated class in lower-case and "_id" suffixed. So if the associated class is Project,
- # the +has_and_belongs_to_many+ association will use "project_id" as the default <tt>:association_foreign_key</tt>.
+ # Specify the association foreign key used for the association (on the "other side" of association).
+ # By default this is guessed to be the name of the associated class in lower-case and "_id" suffixed.
+ # So if a Person class makes a +has_and_belongs_to_many+ association to Project,
+ # the association will use "project_id" as the default <tt>:association_foreign_key</tt>.
# [:conditions]
# Specify the conditions that the associated object must meet in order to be included as a +WHERE+
# SQL fragment, such as <tt>authorized = 1</tt>. Record creations from the association are scoped if a hash is used.

0 comments on commit c20e291

Please sign in to comment.