diff options
author | Mike Gunderloy <MikeG1@larkfarm.com> | 2009-02-05 05:16:23 -0600 |
---|---|---|
committer | Mike Gunderloy <MikeG1@larkfarm.com> | 2009-02-05 05:16:46 -0600 |
commit | 3e2bf0640547d692d148b2ac778eb61590e642b3 (patch) | |
tree | 335a1298caed64299e05fa0bf719b42eb780ab59 /activerecord | |
parent | e7d56a563b31987c08a622b54858707725b71b23 (diff) | |
download | rails-3e2bf0640547d692d148b2ac778eb61590e642b3.tar.gz rails-3e2bf0640547d692d148b2ac778eb61590e642b3.tar.bz2 rails-3e2bf0640547d692d148b2ac778eb61590e642b3.zip |
Add example of creating join table to habtm documentation
Diffstat (limited to 'activerecord')
-rwxr-xr-x | activerecord/lib/active_record/associations.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb index 3f2b5d726e..8c4efc32c8 100755 --- a/activerecord/lib/active_record/associations.rb +++ b/activerecord/lib/active_record/associations.rb @@ -1090,6 +1090,21 @@ module ActiveRecord # but it in fact generates a join table name of "paper_boxes_papers". Be aware of this caveat, and use the # custom <tt>:join_table</tt> option if you need to. # + # The join table should not have a primary key or a model associated with it. You must manually generate the + # join table with a migration such as this: + # + # class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration + # def self.up + # create_table :developers_projects, :id => false do |t| + # t.integer :developer_id + # t.integer :project_id + # end + # end + # def self.down + # drop_table :developers_projects + # end + # end + # # Deprecated: Any additional fields added to the join table will be placed as attributes when pulling records out through # +has_and_belongs_to_many+ associations. Records returned from join tables with additional attributes will be marked as # readonly (because we can't save changes to the additional attributes). It's strongly recommended that you upgrade any |