Revert "Merge pull request #4490 from EmmanuelOga/master"
This behaviour doesn't actually make sense, the context of the child should not be affected by the parent. See #10492. This reverts commit 5f8274efe128ffeec8fa3179460f5167a078f007, reversing changes made to 81e837e810460d066a2e5fc5a795366ec8ab2313.
This commit is contained in:
parent
2767f83384
commit
75135a9790
@ -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?(validation_context)
|
||||
unless valid = record.valid?
|
||||
if reflection.options[:autosave]
|
||||
record.errors.each do |attribute, message|
|
||||
attribute = "#{reflection.name}.#{attribute}"
|
||||
|
@ -2,7 +2,7 @@ module ActiveRecord
|
||||
module Validations
|
||||
class AssociatedValidator < ActiveModel::EachValidator #:nodoc:
|
||||
def validate_each(record, attribute, value)
|
||||
if Array.wrap(value).reject {|r| r.marked_for_destruction? || r.valid?(record.validation_context) }.any?
|
||||
if Array.wrap(value).reject {|r| r.marked_for_destruction? || r.valid?}.any?
|
||||
record.errors.add(attribute, :invalid, options.merge(:value => value))
|
||||
end
|
||||
end
|
||||
|
@ -118,21 +118,4 @@ def test_validates_presence_of_belongs_to_association__existing_parent
|
||||
end
|
||||
end
|
||||
|
||||
def test_validates_associated_models_in_the_same_context
|
||||
Topic.validates_presence_of :title, :on => :custom_context
|
||||
Topic.validates_associated :replies
|
||||
Reply.validates_presence_of :title, :on => :custom_context
|
||||
|
||||
t = Topic.new('title' => '')
|
||||
r = t.replies.new('title' => '')
|
||||
|
||||
assert t.valid?
|
||||
assert !t.valid?(:custom_context)
|
||||
|
||||
t.title = "Longer"
|
||||
assert !t.valid?(:custom_context), "Should NOT be valid if the associated object is not valid in the same context."
|
||||
|
||||
r.title = "Longer"
|
||||
assert t.valid?(:custom_context), "Should be valid if the associated object is not valid in the same context."
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user