aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations/has_one_associations_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fix test name [ci skip]Carlos Antonio da Silva2013-11-141-1/+1
|
* Fixes problem with replacing has_one association record with itselfDenis Redozubov2013-11-111-2/+16
|
* Save association when primary key is manually setlaurocaetano2013-10-241-0/+11
|
* Avoid empty transaction from setting has_one association on new record.Dylan Thacker-Smith2013-09-111-0/+2
|
* Dropped deprecated option `:restrict` for `:dependent` in associationsNeeraj Singh2013-07-031-16/+0
|
* Fix #8856 Ensure has_one association=(associate) triggers save.Chris Thompson2013-04-301-0/+16
| | | | | | | | | | | | | | | | | | | | | | | activerecord/lib/active_record/associations.rb states: # [association=(associate)] # Assigns the associate object, extracts the primary key, sets it as the foreign key, # and saves the associate object. Since commit 42dd5d9f2976677a4bf22347f2dde1a8135dfbb4 to fix #7191, this is no longer the case if the associate has changed, but is the same object. For example: # Pirate has_one :ship pirate = Pirate.create!(catchphrase: "A Pirate") ship = pirate.build_ship(name: 'old name') ship.save! ship.name = 'new name' pirate.ship = ship That last line should trigger a save. Although we are not changing the association, the associate (ship) has changed.
* Revert "Merge pull request #8989 from robertomiranda/use-rails-4-find-by"Guillermo Iguaran2013-01-181-2/+2
| | | | | This reverts commit 637a7d9d357a0f3f725b0548282ca8c5e7d4af4a, reversing changes made to 5937bd02dee112646469848d7fe8a8bfcef5b4c1.
* User Rails 4 find_byrobertomiranda2013-01-181-2/+2
|
* User assert_kind_of, invert assert_equal expectationsCarlos Antonio da Silva2012-11-291-3/+3
|
* Added STI support to init and building associationsJason Rush2012-11-291-0/+30
| | | | | | | | Allows you to do BaseClass.new(:type => "SubClass") as well as parent.children.build(:type => "SubClass") or parent.build_child to initialize an STI subclass. Ensures that the class name is a valid class and that it is in the ancestors of the super class that the association is expecting.
* Do not create useless database transaction when building `has_one` association.Bogdan Gusiev2012-11-101-0/+6
|
* Remove mass_assignment_options from ActiveRecordGuillermo Iguaran2012-09-161-16/+0
|
* Remove mass assignment security from ActiveRecordGuillermo Iguaran2012-09-161-16/+0
|
* Remove the dependent_restrict_raises option.Jon Leighton2012-08-101-43/+13
| | | | | | | | | | | | | | | It's not really a good idea to have this as a global config option. We should allow people to specify the behaviour per association. There will now be two new values: * :dependent => :restrict_with_exception implements the current behaviour of :restrict. :restrict itself is deprecated in favour of :restrict_with_exception. * :dependent => :restrict_with_error implements the new behaviour - it adds an error to the owner if there are dependent records present See #4727 for the original discussion of this.
* Fix #7191. Remove unnecessary transaction when assigning has_one associations.kennyj2012-08-081-0/+13
|
* s/scoped/scope/Jon Leighton2012-08-011-1/+1
|
* Deprecate ActiveRecord::Base.scoped.Jon Leighton2012-07-271-4/+4
| | | | | | | It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
* ActiveRecord::Base.all returns a Relation.Jon Leighton2012-07-271-1/+1
| | | | | | | | | | | 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.
* remove deprecated callsJon Leighton2012-04-271-3/+3
|
* find and replace deprecated keysJon Leighton2012-04-271-1/+1
|
* %s/find(:\(first\|last\|all\), \([^()]*\))/scoped(\2).\1/gcI amongst other ↵Jon Leighton2012-04-271-1/+1
| | | | things
* remove calls to find(:first), find(:last) and find(:all)Jon Leighton2012-04-261-2/+2
|
* Fix #5069 - Protect foreign key from mass assignment throught association ↵Jean Boussier2012-03-051-0/+16
| | | | builder
* Fix typoRafael Mendonça França2012-02-011-2/+2
|
* Use human attribute name to show the dependent destroy messageRafael Mendonça França2012-02-011-1/+25
|
* fix has_one, has_many restrict error messageManoj2012-02-011-1/+1
|
* Remove deprecation warnings from testsRafael Mendonça França2012-01-311-6/+12
|
* suggested fixes for :dependent => :restrict deprecation.Manoj2012-01-311-16/+5
|
* has_many/has_one, :dependent => :restrict, deprecation added.Manoj2012-01-291-2/+46
|
* Only call set_owner_attributes for has_one association if target exists.Dieter Komendera2011-07-041-0/+11
|
* Assign the association attributes to the associated record before the ↵Jon Leighton2011-06-301-0/+7
| | | | before_initialize callback of the record runs. Fixes #1842.
* please use ruby -I lib:test path/to/test.rb, or export RUBY_OPTAaron Patterson2011-06-061-1/+1
|
* Refactor Active Record test connection setup. Please see the ↵Jon Leighton2011-06-041-1/+1
| | | | RUNNING_UNIT_TESTS file for details, but essentially you can now configure things in test/config.yml. You can also run tests directly via the command line, e.g. ruby path/to/test.rb (no rake needed, uses default db connection from test/config.yml). This will help us fix the CI by enabling us to isolate the different Rails versions to different databases.
* removed deprecated methods, and related tests, from ActiveRecordJosh Kalderimis2011-05-251-9/+0
|
* Add block setting of attributes to singular associationsAndrew White2011-05-171-0/+21
|
* Pass the attribute and option hashes to build_associationAndrew White2011-05-171-0/+16
| | | | | | | The build_association method was added as an API for plugins to hook into in 1398db0. This commit restores this API and the ability to override class.new to return a subclass based on a virtual attribute in the attributes hash.
* Don't use mass-assignment protection when setting foreign keys or ↵Jon Leighton2011-05-121-0/+33
| | | | association conditions on singular associations. Fixes #481 (again).
* Don't remove the target if it has already been destroyedAndrew White2011-05-111-0/+9
|
* Bring back obj.association_loaded? as a deprecated method. Fixes #472.Jon Leighton2011-05-111-0/+9
|
* Deprecated support for passing hashes and relations to default_scope, in ↵Jon Leighton2011-04-121-7/+7
| | | | favour of defining a 'default_scope' class method in the model. See the CHANGELOG for more details.
* Split AssociationProxy into an Association class (and subclasses) which ↵Jon Leighton2011-02-181-7/+2
| | | | manages the association, and a CollectionProxy class which is *only* a proxy. Singular associations no longer have a proxy. See CHANGELOG for more.
* Add interpolation of association conditions back in, in the form of proc { ↵Jon Leighton2011-02-141-0/+8
| | | | ... } rather than instance_eval-ing strings
* We shouldn't be using scoped.scoping { ... } to build associated records, as ↵Jon Leighton2011-01-301-0/+15
| | | | this can affect validations/callbacks/etc inside the record itself [#6252 state:resolved]
* Support for create_association! for has_one associationsJon Leighton2011-01-111-0/+18
|
* When assigning a has_one, if anything fails, the assignment should be rolled ↵Jon Leighton2011-01-111-2/+5
| | | | back entirely
* When assigning a has_one, if the new record fails to save, raise an errorJon Leighton2011-01-111-14/+14
|
* When assigning a has_one, if the existing record fails to be removed from ↵Jon Leighton2011-01-111-0/+12
| | | | the association, raise an error
* has_one should always remove the old record (properly), even if not saving ↵Jon Leighton2011-01-111-10/+25
| | | | the new record, so we don't get the database into a pickle
* Construct an actual ActiveRecord::Relation object for the association scope, ↵Jon Leighton2011-01-071-8/+0
| | | | rather than a hash which is passed to apply_finder_options. This allows more flexibility in how the scope is created, for example because scope.where(a, b) and scope.where(a).where(b) mean different things.
* Remove undocumented feature from has_one where you could pass false as the ↵Jon Leighton2011-01-031-29/+0
| | | | | | | | | | | | second parameter to build_assoc or create_assoc, and the existing associated object would be untouched (the foreign key would not be nullified, and it would not be deleted). If you want behaviour similar to this you can do the following things: * Use :dependent => :nullify (or don't specify :dependent) if you want to prevent the existing associated object from being deleted * Use has_many if you actually want multiple associated objects * Explicitly set the foreign key if, for some reason, you really need to have multiple objects associated with the same has_one. E.g. previous = obj.assoc obj.create_assoc previous.update_attributes(:obj_id => obj.id)