aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations/has_many_through_associations_test.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* adding a test to demonstrate how to use STI subclasses on the far rightAaron Patterson2013-09-271-0/+7
| | | | side of a hm:t association along with preloading.
* push preloaded test up to the factory method so we can eliminateAaron Patterson2013-09-241-1/+0
| | | | conditionals from the individual preloaded classes
* we can't sort by lhs since the middle records have difference classesAaron Patterson2013-09-231-1/+2
| | | | and possibly different rules for finding those objects
* adding a test for sti on middle tables with sorting on RHSAaron Patterson2013-09-231-1/+14
|
* hm:t preloading will respect order set on the RHS associationAaron Patterson2013-09-231-0/+15
|
* fix deleting join models with no pkAaron Patterson2013-09-111-5/+47
|
* hm:t join tables may not have a primary keyAaron Patterson2013-09-061-0/+18
|
* adding a hm:t test for singleton ar objectsAaron Patterson2013-09-031-0/+27
|
* add missing fixtures fileAaron Patterson2013-08-301-1/+2
|
* make sure there are actually some categories when running the testAaron Patterson2013-08-291-0/+1
|
* pk should not be required for hm:t associationsAaron Patterson2013-08-291-0/+7
|
* Merge branch 'master' of github.com:rails/docrailsVijay Dev2013-08-171-1/+1
|\ | | | | | | | | | | | | | | Conflicts: actionview/README.rdoc activerecord/lib/active_record/migration.rb guides/source/development_dependencies_install.md guides/source/getting_started.md
| * Revert "Merge branch 'master' of github.com:rails/docrails"Vijay Dev2013-08-171-1/+1
| | | | | | | | | | | | | | This reverts commit 70d6e16fbad75b89dd1798ed697e7732b8606fa3, reversing changes made to ea4db3bc078fb3093ecdddffdf4f2f4ff3e1e8f9. Seems to be a code merge done by mistake.
* | add a test for concat on hm:t associationsAaron Patterson2013-08-021-0/+7
|/
* used flat_map instead of map.flattenKarunakar (Ruby)2013-07-251-1/+1
|
* Make sure that a joins Relation can be merged with has_many :through + ↵Akira Matsuda2013-07-101-0/+6
| | | | | | association proxy Closes #11248.
* Do not invoke callbacks when delete_all is calledNeeraj Singh2013-06-301-0/+34
| | | | | | | | | | | Method `delete_all` should not be invoking callbacks and this feature was deprecated in Rails 4.0. This is being removed. `delete_all` will continue to honor the `:dependent` option. However if `:dependent` value is `:destroy` then the default deletion strategy for that collection will be applied. User can also force a deletion strategy by passing parameter to `delete_all`. For example you can do `@post.comments.delete_all(:nullify)`
* has_many through obeys order on through associationNeeraj Singh2013-04-041-1/+7
| | | | fixes #10016
* Prevent Relation#merge from collapsing wheres on the RHSJon Leighton2013-01-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | This caused a bug with the new associations implementation, because now association conditions are represented as Arel nodes internally right up to when the whole thing gets turned to SQL. In Rails 3.2, association conditions get turned to raw SQL early on, which prevents Relation#merge from interfering. The current implementation was buggy when a default_scope existed on the target model, since we would basically end up doing: default_scope.merge(association_scope) If default_scope contained a where(foo: 'a') and association_scope contained a where(foo: 'b').where(foo: 'c') then the merger would see that the same column is representated on both sides of the merge and collapse the wheres to all but the last: where(foo: 'c') Now, the RHS of the merge is left alone. Fixes #8990
* Revert "Merge pull request #8989 from robertomiranda/use-rails-4-find-by"Guillermo Iguaran2013-01-181-1/+1
| | | | | This reverts commit 637a7d9d357a0f3f725b0548282ca8c5e7d4af4a, reversing changes made to 5937bd02dee112646469848d7fe8a8bfcef5b4c1.
* User Rails 4 find_byrobertomiranda2013-01-181-1/+1
|
* Rename update_attributes method to update, keep update_attributes as an aliasAmparo Luna + Guillermo Iguaran2013-01-031-1/+1
|
* Fix for has_many_through counter_cache bugMatthew Robertson2012-12-141-0/+11
| | | | | | This commit fixes reported issue #7630 in which counter caches were not being updated properly when replacing has_many_through relationships
* Merge and add tests related to 5215Vipul A M2012-11-121-6/+13
|
* remove duplicated require statements in AR test casesYves Senn2012-10-091-1/+0
|
* Revert "Use flat_map { } instead of map {}.flatten"Santiago Pastorino2012-10-051-1/+1
| | | | | | | | | | | This reverts commit abf8de85519141496a6773310964ec03f6106f3f. We should take a deeper look to those cases flat_map doesn't do deep flattening. irb(main):002:0> [[[1,3], [1,2]]].map{|i| i}.flatten => [1, 3, 1, 2] irb(main):003:0> [[[1,3], [1,2]]].flat_map{|i| i} => [[1, 3], [1, 2]]
* Use flat_map { } instead of map {}.flattenSantiago Pastorino2012-10-051-1/+1
|
* Count returns 0 without querying if parent is not savedFrancesco Rodriguez2012-10-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Patches `CollectionAssociation#count` to return 0 without querying if the parent record is new. Consider the following code: class Account has_many :dossiers end class Dossier belongs_to :account end a = Account.new a.dossiers.build # before patch a.dossiers.count # SELECT COUNT(*) FROM "dossiers" WHERE "dossiers"."account_id" IS NULL # => 0 # after a.dosiers.count # fires without sql query # => 0 Fixes #1856.
* Merge pull request #7251 from rails/integrate-strong_parametersDavid Heinemeier Hansson2012-09-181-15/+0
|\ | | | | Integrate strong_parameters in Rails 4
| * Remove mass assignment security from ActiveRecordGuillermo Iguaran2012-09-161-15/+0
| |
* | Fix collection= on hm:t join models when unsavedErnie Miller2012-09-171-0/+5
|/ | | | | | If assigning to a has_many :through collection against an unsaved object using the collection=[<array_of_items>] syntax, the join models were not properly created, previously.
* ActiveRecord::Base.all returns a Relation.Jon Leighton2012-07-271-2/+2
| | | | | | | | | | | Previously it returned an Array. If you want an array, call e.g. `Post.to_a` rather than `Post.all`. This is more explicit. In most cases this should not break existing code, since Relations use method_missing to delegate unknown methods to #to_a anyway.
* Deprecate update_column in favor of update_columns.Rafael Mendonça França2012-07-241-2/+2
| | | | Closes #1190
* rm unnecessary testJon Leighton2012-07-201-7/+0
| | | | | interpolation is no longer a thing separate from "normal" assoc conditions.
* remove calls to find(:first), find(:last) and find(:all)Jon Leighton2012-04-261-3/+3
|
* remove deprecate #calculate callsJon Leighton2012-04-261-1/+1
|
* Merge pull request #5289 from rafaelfranca/fix-through-associationsJon Leighton2012-03-081-4/+20
|\ | | | | Fix has_many through associations when mass_assignment_sanitizer is strict
| * Not need to pass join attributes to association buildRafael Mendonça França2012-03-071-3/+2
| |
| * Add test case to has_many through association when mass_assignment_sanitizer isRafael Mendonça França2012-03-051-4/+21
| | | | | | | | :strict
* | Add tests to test that through associations are not readonly, and we can ↵kuahyeow2012-03-081-0/+11
|/ | | | update the records we retrive from the association
* The primary key is always initialized in the @attributes hash to nil (unlessAaron Patterson2012-01-251-1/+1
| | | | another value has been specified).
* Deprecate inferred JOINs with includes + SQL snippets.Jon Leighton2012-01-161-1/+1
| | | | | | See the CHANGELOG for details. Fixes #950.
* Revert "Deprecate implicit eager loading. Closes #950."Jon Leighton2012-01-161-1/+1
| | | | This reverts commit c99d507fccca2e9e4d12e49b4387e007c5481ae9.
* Deprecate implicit eager loading. Closes #950.Jon Leighton2011-12-291-1/+1
|
* bypass preloading for ids_readerSergey Nartimov2011-12-181-0/+6
| | | | | when fetching ids for a collection, bypass preloading to avoid the unnecessary performance overhead
* Remove all revelant through records.Jon Leighton2011-11-031-0/+15
| | | | | | | | | If a record is removed from a has_many :through, all of the join records relating to that record should also be removed from the through association's target. (Previously the records were removed in the database, but only one was removed from the in-memory target array.)
* Fix adding multiple instances of the same record to a has_many :through.Jon Leighton2011-11-031-0/+10
| | | | Fixes #3425.
* Fix #3247.Jon Leighton2011-11-031-0/+5
| | | | | Fixes creating records in a through association with a polymorphic source type.
* The join_nodes must be passed to the JoinDependency initializer and ↵Jon Leighton2011-08-291-0/+4
| | | | therefore counted by the alias tracker. This is because the association_joins are aliased on initialization and then the tables are cached, so it is no use to alias the join_nodes later. Fixes #2556.
* Ensure empty has_many :through association preloaded via joins is marked as ↵Jon Leighton2011-08-151-0/+8
| | | | loaded. Fixes #2054.