aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations.rb
Commit message (Collapse)AuthorAgeFilesLines
* Association validation does not belong in a before_save callback: move it ↵Jeremy Kemper2005-10-021-40/+40
| | | | | | into a validation method. Restores the expected model.valid? == model.save. Add tests for cancelling save by returning false from a before_save callback. Remove assumption that before_destroy's return value indicates whether the record was destroyed. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2434 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Ticket #2156 - Use foreign_key inflection uniformlyJeremy Kemper2005-09-281-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2394 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3653@asus: jeremy | 2005-09-28 00:23:49 -0700Jeremy Kemper2005-09-281-1/+3
| | | | | | | Ticket 2221 - model.association.clear should destroy associated objects if :dependent => true instead of nullifying their foreign keys git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2384 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed saving a record with two unsaved belongs_to associations pointing to ↵Jamis Buck2005-09-201-5/+7
| | | | | | the same object #2023 [Tobias Luetke] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2278 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fix eager loading error messages, allow :include to specify tables using ↵Nicholas Seckar2005-09-181-2/+3
| | | | | | strings or symbols. Closes #2222 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2258 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Refactored to a more readble form #1813David Heinemeier Hansson2005-09-111-3/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2202 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Refactored away all the legacy validate_options calls and replaced them with ↵David Heinemeier Hansson2005-09-091-13/+14
| | | | | | Hash#assert_valid_keys git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2167 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Revert [2040], caused assignment of belongs_to associations to fail in some ↵Jamis Buck2005-08-241-5/+3
| | | | | | cases git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2048 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Saving a record with two unsaved belongs_to associations pointing to the ↵Jamis Buck2005-08-231-3/+5
| | | | | | same object fails #2023 [Tobias Luetke] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2040 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added support for limit and offset with eager loading of has_one and ↵David Heinemeier Hansson2005-07-111-8/+28
| | | | | | belongs_to associations. Using the options with has_many and has_and_belongs_to_many associations will now raise an ActiveRecord::ConfigurationError #1692 [Rick Olsen] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1811 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* better error message for missing associations #1631 [courtenay]David Heinemeier Hansson2005-07-091-4/+11
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1787 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made documentation ready for release (AR)David Heinemeier Hansson2005-07-061-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1733 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added callback hooks to association collections #1549 [Florian Weber]David Heinemeier Hansson2005-07-041-3/+43
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1653 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* 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