aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fixed that single-table inheritance sub-classes couldn't be used to limit ↵David Heinemeier Hansson2005-07-031-0/+10
| | | | | | the result set with eager loading #1215 [Chris McGrath] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1619 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Updated all references to the old find_first and find_all to use the new ↵David Heinemeier Hansson2005-06-261-1/+1
| | | | | | style #1511 [Marcel Molina] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1520 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed problem with eager loading when using a has_and_belongs_to_many ↵David Heinemeier Hansson2005-06-261-1/+1
| | | | | | association using :association_foreign_key #1504 [flash@vanklinkenbergsoftware.nl] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1516 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that clear_association_cache doesn't delete new associations on new ↵David Heinemeier Hansson2005-06-251-1/+1
| | | | | | records (so you can safely place new records in the session with Action Pack without having new associations wiped) #1494 [cluon] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1504 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed docs #856David Heinemeier Hansson2005-06-211-4/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1475 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed saving of in-memory association structures to happen as a ↵David Heinemeier Hansson2005-06-171-1/+5
| | | | | | after_create/after_update callback instead of after_save -- that way you can add new associations in after_create/after_update callbacks without getting them saved twice git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1448 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added actual database-changing behavior to collection assigment for has_many ↵David Heinemeier Hansson2005-06-161-1/+17
| | | | | | and has_and_belongs_to_many #1425 [Sebastian Kanthak] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1428 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Eager loading of dependent has_one associations won't delete the association ↵Jamis Buck2005-06-101-1/+1
| | | | | | #1212. Also, starting to refactor the tests to make them speedier, with optional support for transactional fixtures. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1398 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added a second parameter to the build and create method for has_one that ↵David Heinemeier Hansson2005-06-061-3/+4
| | | | | | controls whether the existing association should be replaced (which means nullifying its foreign key as well). By default this is true, but false can be passed to prevent it. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1392 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added note of limitation for #1279David Heinemeier Hansson2005-05-211-1/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1347 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that :delete_sql in has_and_belongs_to_many associations couldn't ↵David Heinemeier Hansson2005-05-191-0/+2
| | | | | | access record properties #1299 [Rick Olson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1313 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed association picture referenceDavid Heinemeier Hansson2005-04-301-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1264 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Dont reload on empty associationsDavid Heinemeier Hansson2005-04-191-2/+4
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1231 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed order of loading in eager associationsDavid Heinemeier Hansson2005-04-191-10/+16
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1229 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that :get, :post, and the others should take a flash array as the ↵David Heinemeier Hansson2005-04-191-0/+3
| | | | | | third argument just like process #1144 [rails@cogentdude.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1227 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added documentation about :limit not working with eager loadingDavid Heinemeier Hansson2005-04-191-3/+6
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1224 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Speeded up eager loading a whole bunchDavid Heinemeier Hansson2005-04-181-50/+38
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1212 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Updated documentation here and thereDavid Heinemeier Hansson2005-04-181-7/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1210 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added documentation for new Base.find API and eager association loadingDavid Heinemeier Hansson2005-04-181-0/+35
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1209 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Refactored a bitDavid Heinemeier Hansson2005-04-181-5/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1202 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Changed habtm eager loading to also use joinsDavid Heinemeier Hansson2005-04-181-26/+10
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1201 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Dont initialize the association proxy for nil recordsDavid Heinemeier Hansson2005-04-141-0/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1165 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Moved build_association and create_association for has_one and belongs_to ↵David Heinemeier Hansson2005-04-121-12/+31
| | | | | | out of deprecation as they work when the association is nil unlike association.build and association.create, which require the association to be already in place #864 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1146 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added support for has_and_belongs_to_many associations in eager loading ↵David Heinemeier Hansson2005-04-101-31/+118
| | | | | | #1064 [Dan Peterson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1132 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Use :foreign_key option if specified on the associationDavid Heinemeier Hansson2005-04-051-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1096 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Dont include multiple versions of the same association objectDavid Heinemeier Hansson2005-04-041-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1087 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made eager loading work even moreDavid Heinemeier Hansson2005-04-031-3/+17
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1083 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Allow order, conditions, and joins in finds that include associationsDavid Heinemeier Hansson2005-04-031-3/+8
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1080 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Only include associations when the relevant rows have contentDavid Heinemeier Hansson2005-04-031-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1079 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added new Base.find API and deprecated find_all, find_first. Added ↵David Heinemeier Hansson2005-04-031-1/+55
| | | | | | preliminary support for eager loading of associations git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1077 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Removed broken attempt to DRY module ClassMethod #970David Heinemeier Hansson2005-04-021-0/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1069 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Automatically extend the class which gets a module included with the ↵David Heinemeier Hansson2005-04-021-5/+0
| | | | | | ClassMethods module if it exists #970 [Lucas Carlson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1068 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that model.items.delete(child) will delete the child, not just set the ↵David Heinemeier Hansson2005-04-021-1/+4
| | | | | | foreign key to nil, if the child is dependent on the model #978 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1064 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that :counter_cache option would look for a line_items_count column ↵David Heinemeier Hansson2005-03-231-2/+2
| | | | | | for a LineItem object instead of lineitems_count git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@989 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added destruction of dependent objects in has_one associations when a new ↵David Heinemeier Hansson2005-03-061-1/+2
| | | | | | assignment happens #742 [mindel] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@843 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Finished polishing API docsDavid Heinemeier Hansson2005-02-231-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@773 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Documentation fixes #694David Heinemeier Hansson2005-02-231-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@753 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed documentation snafus #575, #576, #577, #585David Heinemeier Hansson2005-02-071-5/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@525 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* The create and build methods are only available for has_one/belongs_to if an ↵David Heinemeier Hansson2005-01-251-2/+3
| | | | | | association already exist. It will not work when it's nil. Updated the documentation to reflect that. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@501 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Cleanup the proxy rollback #492David Heinemeier Hansson2005-01-181-14/+6
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@457 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the belongs_to and has_one proxy would fail a test like 'if ↵David Heinemeier Hansson2005-01-181-4/+49
| | | | | | project.manager' -- this unfortunately also means that you can't call methods like project.manager.build unless there already is a manager on the project #492 [Tim Bates] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@456 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added support for associating unsaved objects #402 [Tim Bates]David Heinemeier Hansson2005-01-151-164/+164
| | | | | | | | | Added replace to associations, so you can do project.manager.replace(new_manager) or project.milestones.replace(new_milestones) #402 [Tim Bates] Added build and create methods to has_one and belongs_to associations, so you can now do project.manager.build(attributes) #402 [Tim Bates] Fixed that Base#== wouldn't work for multiple references to the same unsaved object #402 [Tim Bates] Added that if a before_* callback returns false, all the later callbacks and the associated action are cancelled. If an after_* callback returns false, all the later callbacks are cancelled. Callbacks are generally run in the order they are defined, with the exception of callbacks defined as methods on the model, which are called last. #402 [Tim Bates] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@417 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that foreign keys named the same as the association would cause stack ↵David Heinemeier Hansson2005-01-111-2/+2
| | | | | | overflow #437 [Eric Anderson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@382 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added a db2 adapter that only depends on the Ruby/DB2 bindings ↵David Heinemeier Hansson2005-01-011-1/+1
| | | | | | (http://raa.ruby-lang.org/project/ruby-db2/) #386 [Maik Schmidt]. Converted all the fixtures to YAML style ones. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@303 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Updated documentation for associations #387 [canadaduane]David Heinemeier Hansson2005-01-011-7/+10
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@299 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Moved support into Active SupportDavid Heinemeier Hansson2004-12-291-56/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@277 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the const_missing autoload assumes the requested constant is set ↵David Heinemeier Hansson2004-12-281-1/+1
| | | | | | by require_association and calls const_get to retrieve it. If require_association did not set the constant then const_get will call const_missing, resulting in an infinite loop #380 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@270 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base#clear_association_cache to empty all the cached associations #347 ↵David Heinemeier Hansson2004-12-221-0/+7
| | | | | | [Tobias Luetke] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@252 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Deal with associated classes that doesnt reside in their own filesDavid Heinemeier Hansson2004-12-201-1/+7
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@237 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Checked in the proper version of const_missingDavid Heinemeier Hansson2004-12-201-17/+17
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@236 5ecf4fe2-1ee6-0310-87b1-e25e094e27de