aboutsummaryrefslogtreecommitdiffstats
path: root/guides
diff options
context:
space:
mode:
authorRob Looby <robertjlooby@gmail.com>2015-05-01 13:57:05 -0500
committerRob Looby <robertjlooby@gmail.com>2015-05-01 13:57:05 -0500
commit78c4e30c6df04be7148b36916455792b727cd55b (patch)
tree4618b0c88cbd882fe524540edc85e44f16582e64 /guides
parent2e7fd4a8661960434ccaad71c8afb4ef26281d21 (diff)
downloadrails-78c4e30c6df04be7148b36916455792b727cd55b.tar.gz
rails-78c4e30c6df04be7148b36916455792b727cd55b.tar.bz2
rails-78c4e30c6df04be7148b36916455792b727cd55b.zip
add upgrade note for breaking habtm change in 3.2 -> 4.0
The has_and_belongs_to_many default join_table behavior changed between Rails 3.2 and Rails 4.0 and should be noted in the appropriate section of the upgrade guide. commit: https://github.com/rails/rails/commit/46492949b8c09f99db78b9f7a02d039e7bc6a702
Diffstat (limited to 'guides')
-rw-r--r--guides/source/upgrading_ruby_on_rails.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/guides/source/upgrading_ruby_on_rails.md b/guides/source/upgrading_ruby_on_rails.md
index 0aa2152d56..be7d2a3635 100644
--- a/guides/source/upgrading_ruby_on_rails.md
+++ b/guides/source/upgrading_ruby_on_rails.md
@@ -883,6 +883,18 @@ this gem such as `whitelist_attributes` or `mass_assignment_sanitizer` options.
* To re-enable the old finders, you can use the [activerecord-deprecated_finders gem](https://github.com/rails/activerecord-deprecated_finders).
+* Rails 4.0 has changed to default join table for `has_and_belongs_to_many` relations to strip the common prefix off the second table name. Any existing `has_and_belongs_to_many` relationship between models with a common prefix must be specified with the `join_table` option. For example:
+
+```ruby
+CatalogCategory < ActiveRecord::Base
+ has_and_belongs_to_many :catalog_products, join_table: 'catalog_categories_catalog_products'
+end
+
+CatalogProduct < ActiveRecord::Base
+ has_and_belongs_to_many :catalog_categories, join_table: 'catalog_categories_catalog_products'
+end
+```
+
### Active Resource
Rails 4.0 extracted Active Resource to its own gem. If you still need the feature you can add the [Active Resource gem](https://github.com/rails/activeresource) in your Gemfile.