From 358802b850df595e071abe3b9d392225a0481d6b Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Thu, 20 Feb 2014 10:46:53 -0800 Subject: [PATCH] Revert "context in validation goes through has many relationship" This reverts commit 5e3d466d52fa4e9a42c3a1f8773a7c31da875e48. --- activerecord/lib/active_record/autosave_association.rb | 2 +- .../cases/associations/has_many_associations_test.rb | 10 ---------- activerecord/test/models/pirate.rb | 8 -------- activerecord/test/models/ship.rb | 8 -------- 4 files changed, 1 insertion(+), 27 deletions(-) diff --git a/activerecord/lib/active_record/autosave_association.rb b/activerecord/lib/active_record/autosave_association.rb index 4f58d06f35..e9622ca0c1 100644 --- a/activerecord/lib/active_record/autosave_association.rb +++ b/activerecord/lib/active_record/autosave_association.rb @@ -301,7 +301,7 @@ def validate_collection_association(reflection) def association_valid?(reflection, record) return true if record.destroyed? || record.marked_for_destruction? - unless valid = record.valid?(self.validation_context) + unless valid = record.valid? if reflection.options[:autosave] record.errors.each do |attribute, message| attribute = "#{reflection.name}.#{attribute}" diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb index 321440cab7..a86fb15719 100644 --- a/activerecord/test/cases/associations/has_many_associations_test.rb +++ b/activerecord/test/cases/associations/has_many_associations_test.rb @@ -22,8 +22,6 @@ require 'models/categorization' require 'models/minivan' require 'models/speedometer' -require 'models/pirate' -require 'models/ship' class HasManyAssociationsTestForReorderWithJoinDependency < ActiveRecord::TestCase fixtures :authors, :posts, :comments @@ -1832,12 +1830,4 @@ def test_collection_association_with_private_kernel_method end end end - - test 'has_many_association passes context validation to validate children' do - pirate = FamousPirate.new - pirate.famous_ships << ship = FamousShip.new - assert_equal true, pirate.valid? - assert_equal false, pirate.valid?(:conference) - assert_equal "can't be blank", ship.errors[:name].first - end end diff --git a/activerecord/test/models/pirate.rb b/activerecord/test/models/pirate.rb index 8510c596a7..7bb0caf44b 100644 --- a/activerecord/test/models/pirate.rb +++ b/activerecord/test/models/pirate.rb @@ -85,11 +85,3 @@ def log(record, callback) class DestructivePirate < Pirate has_one :dependent_ship, :class_name => 'Ship', :foreign_key => :pirate_id, :dependent => :destroy end - -class FamousPirate < ActiveRecord::Base - self.table_name = 'pirates' - - has_many :famous_ships - - validates_presence_of :catchphrase, on: :conference -end diff --git a/activerecord/test/models/ship.rb b/activerecord/test/models/ship.rb index 7a369b9d9a..3da031946f 100644 --- a/activerecord/test/models/ship.rb +++ b/activerecord/test/models/ship.rb @@ -17,11 +17,3 @@ def cancel_save_callback_method false end end - -class FamousShip < ActiveRecord::Base - self.table_name = 'ships' - - belongs_to :famous_pirate - - validates_presence_of :name, on: :conference -end -- GitLab